Add elevation to toolbar in settings screens
Facelift to v4 designs to Auto-download message setting screen and background sync setting screen
This commit is contained in:
parent
808617b08a
commit
82bb725d4e
|
@ -56,6 +56,9 @@ class AccountSettingsActivity : BaseSettingsActivity() {
|
|||
actionBar.setTitle(R.string.account_settings)
|
||||
}
|
||||
|
||||
val elevation = resources.getDimensionPixelSize(R.dimen.action_bar_elevation).toFloat()
|
||||
actionBar?.elevation = elevation
|
||||
|
||||
mSnackLayout = findViewById(R.id.layout_no_connectivity_info)
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,6 @@ import com.squareup.otto.Subscribe
|
|||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import kotlinx.android.synthetic.main.activity_edit_settings_item.*
|
||||
import me.proton.core.util.android.sharedpreferences.set
|
||||
import me.proton.core.util.kotlin.EMPTY_STRING
|
||||
import timber.log.Timber
|
||||
|
||||
// region constants
|
||||
|
@ -87,14 +86,14 @@ class EditSettingsItemActivity : BaseSettingsActivity() {
|
|||
val actionBar = supportActionBar
|
||||
actionBar?.setDisplayHomeAsUpEnabled(true)
|
||||
|
||||
val elevation = resources.getDimensionPixelSize(R.dimen.action_bar_elevation).toFloat()
|
||||
actionBar?.elevation = elevation
|
||||
|
||||
settingsItemType = intent.getSerializableExtra(EXTRA_SETTINGS_ITEM_TYPE) as SettingsItem
|
||||
settingsItemValue = intent.getStringExtra(EXTRA_SETTINGS_ITEM_VALUE)
|
||||
|
||||
mSnackLayout = findViewById(R.id.layout_no_connectivity_info)
|
||||
|
||||
val oldSettings = arrayOf(SettingsItem.AUTO_DOWNLOAD_MESSAGES, SettingsItem.BACKGROUND_SYNC)
|
||||
|
||||
if (settingsItemType !in oldSettings) {
|
||||
val jsonSettingsListResponse =
|
||||
resources.openRawResource(R.raw.edit_settings_structure).bufferedReader().use { it.readText() }
|
||||
|
||||
|
@ -102,7 +101,6 @@ class EditSettingsItemActivity : BaseSettingsActivity() {
|
|||
val settingsUiList =
|
||||
gson.fromJson(jsonSettingsListResponse, Array<Array<SettingsItemUiModel>>::class.java).asList()
|
||||
setUpSettingsItems(settingsUiList[settingsItemType.ordinal].asList())
|
||||
}
|
||||
|
||||
renderViews()
|
||||
|
||||
|
@ -111,7 +109,6 @@ class EditSettingsItemActivity : BaseSettingsActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
renderViews()
|
||||
|
@ -167,7 +164,6 @@ class EditSettingsItemActivity : BaseSettingsActivity() {
|
|||
}
|
||||
setEnabled(SettingsEnum.SIGNATURE, legacyUser.isShowSignature)
|
||||
|
||||
|
||||
val currentMobileSignature = legacyUser.mobileSignature
|
||||
if (!currentMobileSignature.isNullOrEmpty()) {
|
||||
Timber.v("set mobileSignature $currentMobileSignature")
|
||||
|
@ -240,8 +236,9 @@ class EditSettingsItemActivity : BaseSettingsActivity() {
|
|||
|
||||
setToggleListener(SettingsEnum.LINK_CONFIRMATION) { view: View, isChecked: Boolean ->
|
||||
val prefs = checkNotNull(sharedPreferences)
|
||||
if (view.isPressed && isChecked != prefs.getBoolean(PREF_HYPERLINK_CONFIRM, true))
|
||||
if (view.isPressed && isChecked != prefs.getBoolean(PREF_HYPERLINK_CONFIRM, true)) {
|
||||
prefs[PREF_HYPERLINK_CONFIRM] = isChecked
|
||||
}
|
||||
}
|
||||
|
||||
setEnabled(SettingsEnum.PREVENT_SCREENSHOTS, legacyUser.isPreventTakingScreenshots)
|
||||
|
@ -284,45 +281,58 @@ class EditSettingsItemActivity : BaseSettingsActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
actionBarTitle = R.string.privacy
|
||||
}
|
||||
SettingsItem.AUTO_DOWNLOAD_MESSAGES -> {
|
||||
settingsRecyclerViewParent.visibility = View.GONE
|
||||
featureTitle.text = getString(R.string.auto_download_messages_title)
|
||||
enableFeatureSwitch.isChecked = legacyUser.isGcmDownloadMessageDetails
|
||||
|
||||
enableFeatureSwitch.setOnCheckedChangeListener { view, isChecked ->
|
||||
setValue(
|
||||
SettingsEnum.AUTO_DOWNLOAD_MESSAGES,
|
||||
getString(R.string.auto_download_messages_subtitle)
|
||||
)
|
||||
setEnabled(SettingsEnum.AUTO_DOWNLOAD_MESSAGES, legacyUser.isGcmDownloadMessageDetails)
|
||||
|
||||
val gcmDownloadDetailsChanged = legacyUser.isGcmDownloadMessageDetails != isChecked
|
||||
if (view.isPressed && gcmDownloadDetailsChanged) {
|
||||
setToggleListener(SettingsEnum.AUTO_DOWNLOAD_MESSAGES) { _: View, isChecked: Boolean ->
|
||||
if (isChecked != legacyUser.isGcmDownloadMessageDetails) {
|
||||
legacyUser.isGcmDownloadMessageDetails = isChecked
|
||||
}
|
||||
}
|
||||
descriptionParent.visibility = View.VISIBLE
|
||||
description.text = getString(R.string.auto_download_messages_subtitle)
|
||||
|
||||
actionBarTitle = R.string.auto_download_messages_title
|
||||
}
|
||||
SettingsItem.BACKGROUND_SYNC -> {
|
||||
settingsRecyclerViewParent.visibility = View.GONE
|
||||
featureTitle.text = getString(R.string.settings_background_sync)
|
||||
enableFeatureSwitch.isChecked = legacyUser.isBackgroundSync
|
||||
|
||||
enableFeatureSwitch.setOnCheckedChangeListener { view, isChecked ->
|
||||
setValue(
|
||||
SettingsEnum.BACKGROUND_SYNC,
|
||||
getString(R.string.background_sync_subtitle)
|
||||
)
|
||||
setEnabled(SettingsEnum.BACKGROUND_SYNC, legacyUser.isBackgroundSync)
|
||||
|
||||
if (view.isPressed && isChecked != legacyUser.isBackgroundSync) {
|
||||
setToggleListener(SettingsEnum.BACKGROUND_SYNC) { _: View, isChecked: Boolean ->
|
||||
if (isChecked != legacyUser.isBackgroundSync) {
|
||||
legacyUser.isBackgroundSync = isChecked
|
||||
if (legacyUser.isBackgroundSync) {
|
||||
val alarmReceiver = AlarmReceiver()
|
||||
alarmReceiver.setAlarm(ProtonMailApplication.getApplication())
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
descriptionParent.visibility = View.VISIBLE
|
||||
description.text = getString(R.string.background_sync_subtitle)
|
||||
actionBarTitle = R.string.settings_background_sync
|
||||
|
||||
// settingsRecyclerViewParent.visibility = View.GONE
|
||||
// featureTitle.text = getString(R.string.settings_background_sync)
|
||||
// enableFeatureSwitch.isChecked = legacyUser.isBackgroundSync
|
||||
//
|
||||
// enableFeatureSwitch.setOnCheckedChangeListener { view, isChecked ->
|
||||
//
|
||||
// if (view.isPressed && isChecked != legacyUser.isBackgroundSync) {
|
||||
// legacyUser.isBackgroundSync = isChecked
|
||||
// if (legacyUser.isBackgroundSync) {
|
||||
// val alarmReceiver = AlarmReceiver()
|
||||
// alarmReceiver.setAlarm(ProtonMailApplication.getApplication())
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// descriptionParent.visibility = View.VISIBLE
|
||||
// description.text = getString(R.string.background_sync_subtitle)
|
||||
// actionBarTitle = R.string.settings_background_sync
|
||||
}
|
||||
SettingsItem.SWIPE -> {
|
||||
val mailSettings = checkNotNull(userManager.getCurrentUserMailSettingsBlocking())
|
||||
|
|
|
@ -44,6 +44,9 @@ class SettingsActivity : BaseSettingsActivity() {
|
|||
actionBar.setTitle(R.string.settings)
|
||||
}
|
||||
|
||||
val elevation = resources.getDimensionPixelSize(R.dimen.action_bar_elevation).toFloat()
|
||||
actionBar?.elevation = elevation
|
||||
|
||||
mSnackLayout = findViewById(R.id.layout_no_connectivity_info)
|
||||
|
||||
setUpSettingsItems(R.raw.settings_structure)
|
||||
|
@ -74,7 +77,6 @@ class SettingsActivity : BaseSettingsActivity() {
|
|||
val appLanguage = sharedPreferences!!.getString(PREF_CUSTOM_APP_LANGUAGE, "")
|
||||
if (appLanguage.isNullOrEmpty()) {
|
||||
setValue(SettingsEnum.APP_LANGUAGE, getString(R.string.auto_detect))
|
||||
|
||||
} else {
|
||||
for (i in languageLabels.indices) {
|
||||
if (languageValues[i] == appLanguage) {
|
||||
|
@ -89,10 +91,15 @@ class SettingsActivity : BaseSettingsActivity() {
|
|||
setValue(SettingsEnum.AUTO_LOCK, autoLockSettingValue)
|
||||
|
||||
val allowSecureConnectionsViaThirdPartiesSettingValue =
|
||||
if (legacyUser.allowSecureConnectionsViaThirdParties) getString(R.string.allowed) else getString(R.string.denied)
|
||||
if (legacyUser.allowSecureConnectionsViaThirdParties) getString(R.string.allowed) else getString(
|
||||
R.string.denied
|
||||
)
|
||||
setValue(SettingsEnum.CONNECTIONS_VIA_THIRD_PARTIES, allowSecureConnectionsViaThirdPartiesSettingValue)
|
||||
|
||||
setValue(SettingsEnum.COMBINED_CONTACTS, if (legacyUser.combinedContacts) getString(R.string.enabled) else getString(R.string.disabled))
|
||||
setValue(
|
||||
SettingsEnum.COMBINED_CONTACTS,
|
||||
if (legacyUser.combinedContacts) getString(R.string.enabled) else getString(R.string.disabled)
|
||||
)
|
||||
|
||||
setValue(
|
||||
SettingsEnum.APP_VERSION,
|
||||
|
|
|
@ -23,181 +23,240 @@ import ch.protonmail.android.R
|
|||
|
||||
enum class SettingsEnum {
|
||||
ACCOUNT {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = ""
|
||||
},
|
||||
SUBSCRIPTION {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.subscription)
|
||||
},
|
||||
PASSWORD_MANAGEMENT {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.password_manager)
|
||||
},
|
||||
RECOVERY_EMAIL {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.recovery_email)
|
||||
},
|
||||
MAILBOX_SIZE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.storage)
|
||||
},
|
||||
CONVERSATION_MODE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.enable_conversation_mode)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.enable_conversation_mode)
|
||||
},
|
||||
DEFAULT_EMAIL {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.default_mail_address)
|
||||
},
|
||||
DISPLAY_NAME_N_SIGNATURE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.display_name_n_signature)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.display_name_n_signature)
|
||||
},
|
||||
DISPLAY_NAME {
|
||||
|
||||
override fun getHint(context: Context): String = context.resources.getString(R.string.edit_display_name)
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.display_name)
|
||||
},
|
||||
SIGNATURE {
|
||||
|
||||
override fun getHint(context: Context): String = context.resources.getString(R.string.edit_settings)
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.signature)
|
||||
},
|
||||
MOBILE_SIGNATURE {
|
||||
|
||||
override fun getHint(context: Context): String = context.resources.getString(R.string.edit_mobile_signature)
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.mobile_signature)
|
||||
},
|
||||
NOTIFICATION_SNOOZE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.notifications_snooze)
|
||||
},
|
||||
PRIVACY {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.privacy)
|
||||
},
|
||||
AUTO_DOWNLOAD_MESSAGES {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.auto_download_messages_title)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.auto_download_messages_title)
|
||||
},
|
||||
BACKGROUND_REFRESH {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.settings_background_sync)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.settings_background_sync)
|
||||
},
|
||||
SEARCH {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.x_search)
|
||||
},
|
||||
LABELS_N_FOLDERS {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.labels_and_folders)
|
||||
},
|
||||
LABELS_MANAGER {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.labels_manage)
|
||||
},
|
||||
FOLDERS_MANAGER {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.folders_manage)
|
||||
},
|
||||
SWIPING_GESTURE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.swiping_gesture)
|
||||
},
|
||||
SWIPE_LEFT {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.swipe_action_left)
|
||||
},
|
||||
SWIPE_RIGHT {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.swipe_action_right)
|
||||
},
|
||||
LOCAL_STORAGE_LIMIT {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.local_storage)
|
||||
},
|
||||
PUSH_NOTIFICATION {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.push_notifications)
|
||||
},
|
||||
NOTIFICATION_SETTINGS {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.notification_settings)
|
||||
},
|
||||
AUTO_LOCK {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.auto_lock)
|
||||
},
|
||||
APP_VERSION {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.app_version)
|
||||
},
|
||||
APP_LANGUAGE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.app_language)
|
||||
},
|
||||
CONNECTIONS_VIA_THIRD_PARTIES {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.connections_via_third_parties)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.connections_via_third_parties)
|
||||
},
|
||||
ALLOW_SECURE_CONNECTIONS_VIA_THIRD_PARTIES {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.allow_secure_connections_via_third_parties)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.allow_secure_connections_via_third_parties)
|
||||
},
|
||||
COMBINED_CONTACTS {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.combined_contacts)
|
||||
},
|
||||
EXTENDED_NOTIFICATION {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.extended_notifications)
|
||||
},
|
||||
SHOW_EMBEDDED_IMAGES {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.settings_auto_show_embedded_images)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.settings_auto_show_embedded_images)
|
||||
},
|
||||
SHOW_REMOTE_IMAGES {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.settings_auto_show_images)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.settings_auto_show_images)
|
||||
},
|
||||
PREVENT_SCREENSHOTS {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.settings_prevent_taking_screenshots)
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.settings_prevent_taking_screenshots)
|
||||
},
|
||||
LINK_CONFIRMATION {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.hyperlink_confirmation)
|
||||
},
|
||||
APP_LOCAL_CACHE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.local_cache_management)
|
||||
},
|
||||
ACCOUNT_SETTINGS {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.account_settings)
|
||||
},
|
||||
APP_SETTINGS {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.app_settings)
|
||||
},
|
||||
APP_INFORMATION {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.app_info)
|
||||
},
|
||||
ACCOUNT_SECTION {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.account)
|
||||
},
|
||||
ADDRESSES {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.addresses)
|
||||
},
|
||||
SNOOZE {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.snooze_header)
|
||||
},
|
||||
MAILBOX {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String = context.resources.getString(R.string.mailbox)
|
||||
};
|
||||
},
|
||||
BACKGROUND_SYNC {
|
||||
|
||||
override fun getHint(context: Context): String = ""
|
||||
override fun getHeader(context: Context): String =
|
||||
context.resources.getString(R.string.settings_background_sync)
|
||||
}, ;
|
||||
|
||||
abstract fun getHint(context: Context): String
|
||||
abstract fun getHeader(context: Context): String
|
||||
|
|
|
@ -131,5 +131,23 @@
|
|||
"setting_hasValue": true,
|
||||
"setting_type": "toggle"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"setting_id": "auto_download_messages",
|
||||
"is_section": false,
|
||||
"setting_value": "",
|
||||
"setting_hasValue": true,
|
||||
"setting_type": "toggle"
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"setting_id": "background_sync",
|
||||
"is_section": false,
|
||||
"setting_value": "",
|
||||
"setting_hasValue": true,
|
||||
"setting_type": "toggle"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue