-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Expand file tree
/
Copy pathCommunityActivity.kt
More file actions
135 lines (123 loc) · 4.58 KB
/
CommunityActivity.kt
File metadata and controls
135 lines (123 loc) · 4.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
* Nextcloud - Android Client
*
* SPDX-FileCopyrightText: 2023 Alper Ozturk <alper.ozturk@nextcloud.com>
* SPDX-FileCopyrightText: 2016 Andy Scherzinger
* SPDX-FileCopyrightText: 2016 Tobias Kaminsky <tobias@kaminsky.me>
* SPDX-FileCopyrightText: 2016 Nextcloud
* SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
*/
package com.owncloud.android.ui.activity
import android.os.Bundle
import android.text.method.LinkMovementMethod
import android.view.MenuItem
import com.nextcloud.utils.extensions.setHtmlContent
import com.owncloud.android.R
import com.owncloud.android.databinding.CommunityLayoutBinding
import com.owncloud.android.utils.DisplayUtils
/**
* Activity providing information about ways to participate in the app's development.
*/
open class CommunityActivity : DrawerActivity() {
lateinit var binding: CommunityLayoutBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = CommunityLayoutBinding.inflate(layoutInflater)
setContentView(binding.root)
setupToolbar()
updateActionBarTitleAndHomeButtonByString(getString(R.string.drawer_community))
setupDrawer(R.id.nav_community)
binding.communityReleaseCandidateText.movementMethod = LinkMovementMethod.getInstance()
setupContributeForumView()
setupContributeTranslationView()
setupContributeGithubView()
setupReportButton()
setOnClickListeners()
}
override fun getMenuItemId(): Int = R.id.nav_community
override fun onResume() {
super.onResume()
highlightNavigationViewItem(menuItemId)
}
private fun setupContributeForumView() {
val htmlContent = getString(R.string.community_contribute_forum_text) + " " +
getString(
R.string.community_contribute_forum_text_link,
viewThemeUtils.files
.primaryColorToHexString(this),
getString(R.string.help_link),
getString(R.string.community_contribute_forum_forum)
)
binding.communityContributeForumText.setHtmlContent(htmlContent)
}
private fun setupContributeTranslationView() {
val htmlContent = getString(
R.string.community_contribute_translate_link,
viewThemeUtils.files.primaryColorToHexString(this),
getString(R.string.translation_link),
getString(R.string.community_contribute_translate_translate)
) + " " +
getString(R.string.community_contribute_translate_text)
binding.communityContributeTranslateText.setHtmlContent(htmlContent)
}
private fun setupContributeGithubView() {
val htmlContent = getString(
R.string.community_contribute_github_text,
getString(
R.string.community_contribute_github_text_link,
viewThemeUtils.files.primaryColorToHexString(this),
getString(R.string.contributing_link)
)
)
binding.communityContributeGithubText.setHtmlContent(htmlContent)
}
private fun setupReportButton() {
val reportButton = binding.communityTestingReport
viewThemeUtils.material.colorMaterialButtonPrimaryFilled(reportButton)
reportButton.setOnClickListener {
DisplayUtils.startLinkIntent(
this,
R.string.report_issue_empty_link
)
}
}
private fun setOnClickListeners() {
binding.communityBetaFdroid.setOnClickListener {
DisplayUtils.startLinkIntent(
this,
R.string.fdroid_beta_link
)
}
binding.communityReleaseCandidateFdroid.setOnClickListener {
DisplayUtils.startLinkIntent(
this,
R.string.fdroid_link
)
}
binding.communityReleaseCandidatePlaystore.setOnClickListener {
DisplayUtils.startLinkIntent(
this,
R.string.play_store_register_beta
)
}
binding.communityBetaApk.setOnClickListener {
DisplayUtils.startLinkIntent(
this,
R.string.beta_apk_link
)
}
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
var retval = true
if (item.itemId == android.R.id.home) {
if (isDrawerOpen) {
closeDrawer()
} else {
openDrawer()
}
} else {
retval = super.onOptionsItemSelected(item)
}
return retval
}
}