Skip to content

Commit b1631d4

Browse files
committed
Customized dialog theme.
NMC-3805 -- logout popup wording adaptation
1 parent 745e775 commit b1631d4

43 files changed

Lines changed: 392 additions & 343 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/src/main/java/com/nextcloud/ui/ChooseStorageLocationDialogFragment.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import androidx.fragment.app.DialogFragment
1818
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1919
import com.nextcloud.client.di.Injectable
2020
import com.nextcloud.client.preferences.AppPreferencesImpl
21+
import com.nmc.android.utils.DialogThemeUtils
2122
import com.owncloud.android.MainApp
2223
import com.owncloud.android.R
2324
import com.owncloud.android.databinding.DialogDataStorageLocationBinding
@@ -59,7 +60,8 @@ class ChooseStorageLocationDialogFragment :
5960
dialog.dismiss()
6061
}.setView(binding.root)
6162

62-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(requireContext(), builder)
63+
// NMC customization: customize dialog bg color
64+
DialogThemeUtils.colorMaterialAlertDialogBackground(requireContext(), builder)
6365

6466
binding.storageRadioGroup.setOnCheckedChangeListener { _, _ ->
6567
updateMediaIndexSwitch()
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.nmc.android.utils
2+
3+
import android.content.Context
4+
import android.content.res.ColorStateList
5+
import android.os.Build
6+
import com.google.android.material.dialog.MaterialAlertDialogBuilder
7+
import com.google.android.material.shape.MaterialShapeDrawable
8+
import com.owncloud.android.R
9+
10+
object DialogThemeUtils {
11+
fun colorMaterialAlertDialogBackground(context: Context, dialogBuilder: MaterialAlertDialogBuilder) {
12+
val materialShapeDrawable = MaterialShapeDrawable(
13+
context,
14+
null,
15+
androidx.appcompat.R.attr.alertDialogStyle,
16+
com.google.android.material.R.style.MaterialAlertDialog_MaterialComponents
17+
)
18+
materialShapeDrawable.initializeElevationOverlay(context)
19+
materialShapeDrawable.fillColor =
20+
ColorStateList.valueOf(context.resources.getColor(R.color.alert_bg_color, null))
21+
22+
// dialogCornerRadius first appeared in Android Pie
23+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
24+
val radius: Float =
25+
context.resources.getDimension(com.nextcloud.android.common.ui.R.dimen.dialogBorderRadius)
26+
materialShapeDrawable.setCornerSize(radius)
27+
}
28+
dialogBuilder.background = materialShapeDrawable
29+
}
30+
}

app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ import com.nextcloud.utils.extensions.navigateToAllFiles
8484
import com.nextcloud.utils.extensions.observeWorker
8585
import com.nextcloud.utils.fileNameValidator.FileNameValidator.checkFolderPath
8686
import com.nextcloud.utils.view.FastScrollUtils
87+
import com.nmc.android.utils.DialogThemeUtils
8788
import com.owncloud.android.MainApp
8889
import com.owncloud.android.R
8990
import com.owncloud.android.databinding.FilesBinding
@@ -343,7 +344,8 @@ class FileDisplayActivity :
343344
) { dialog: DialogInterface?, which: Int -> dialog?.dismiss() }
344345
.setIcon(R.drawable.ic_settings)
345346

346-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(applicationContext, builder)
347+
// NMC customization: customize dialog bg color
348+
DialogThemeUtils.colorMaterialAlertDialogBackground(applicationContext, builder)
347349

348350
builder.create().show()
349351
} catch (e: BadTokenException) {
@@ -2954,7 +2956,8 @@ class FileDisplayActivity :
29542956
showLoadingDialog(getString(R.string.retrieving_file))
29552957
}
29562958

2957-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(applicationContext, builder)
2959+
// NMC customization: customize dialog bg color
2960+
DialogThemeUtils.colorMaterialAlertDialogBackground(applicationContext, builder)
29582961

29592962
val dialog = builder.create()
29602963
dismissLoadingDialog()

app/src/main/java/com/owncloud/android/ui/activity/ReceiveExternalFilesActivity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import com.nextcloud.utils.extensions.FileExtensionsKt;
5656
import com.nextcloud.utils.extensions.IntentExtensionsKt;
5757
import com.nextcloud.utils.fileNameValidator.FileNameValidator;
58+
import com.nmc.android.utils.DialogThemeUtils;
5859
import com.owncloud.android.MainApp;
5960
import com.owncloud.android.R;
6061
import com.owncloud.android.databinding.ReceiveExternalFilesBinding;
@@ -350,7 +351,8 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
350351
});
351352
builder.setNeutralButton(R.string.uploader_wrn_no_account_quit_btn_text,
352353
(dialog, which) -> requireActivity().finish());
353-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(requireContext(), builder);
354+
// NMC customization: customize dialog bg color
355+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(requireContext(), builder);
354356
return builder.create();
355357
}
356358
}

app/src/main/java/com/owncloud/android/ui/activity/SettingsActivity.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import com.nextcloud.client.preferences.DarkMode;
5656
import com.nextcloud.utils.extensions.ContextExtensionsKt;
5757
import com.nextcloud.utils.mdm.MDMConfig;
58+
import com.nmc.android.utils.DialogThemeUtils;
5859
import com.owncloud.android.MainApp;
5960
import com.owncloud.android.R;
6061
import com.owncloud.android.authentication.AuthenticatorActivity;
@@ -541,7 +542,7 @@ private void removeE2E(PreferenceCategory preferenceCategoryMore) {
541542
}
542543

543544
private void showRemoveE2EAlertDialog(PreferenceCategory preferenceCategoryMore, Preference preference) {
544-
new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
545+
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
545546
.setTitle(R.string.prefs_e2e_mnemonic)
546547
.setMessage(getString(R.string.remove_e2e_message))
547548
.setCancelable(true)
@@ -556,8 +557,10 @@ private void showRemoveE2EAlertDialog(PreferenceCategory preferenceCategoryMore,
556557
}
557558

558559
dialog.dismiss();
559-
})
560-
.create()
560+
});
561+
// NMC customization: customize dialog bg color
562+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(this, builder);
563+
builder.create()
561564
.show();
562565
}
563566

@@ -1084,14 +1087,16 @@ public void handleMnemonicRequest(Intent data) {
10841087
}
10851088

10861089
private void showMnemonicAlertDialogDialog(String mnemonic) {
1087-
new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
1088-
.setTitle(R.string.prefs_e2e_mnemonic)
1090+
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this, R.style.FallbackTheming_Dialog)
1091+
.setTitle(R.string.dialog_e2e_mnemonic_title)
10891092
.setMessage(mnemonic)
10901093
.setPositiveButton(R.string.common_ok, (dialog, which) -> dialog.dismiss())
10911094
.setNegativeButton(R.string.common_cancel, (dialog, i) -> dialog.dismiss())
10921095
.setNeutralButton(R.string.common_copy, (dialog, i) ->
1093-
ClipboardUtil.copyToClipboard(this, mnemonic, false))
1094-
.create()
1096+
ClipboardUtil.copyToClipboard(this, mnemonic, false));
1097+
// NMC customization: customize dialog bg color
1098+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(this, builder);
1099+
builder.create()
10951100
.show();
10961101
}
10971102

app/src/main/java/com/owncloud/android/ui/activity/StorageMigration.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
2222
import com.nextcloud.client.account.User;
23+
import com.nmc.android.utils.DialogThemeUtils;
2324
import com.owncloud.android.MainApp;
2425
import com.owncloud.android.R;
2526
import com.owncloud.android.datamodel.FileDataStorageManager;
@@ -106,7 +107,8 @@ public static void a(ViewThemeUtils viewThemeUtils, Context context) {
106107

107108
});
108109

109-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(context, builder);
110+
// NMC customization: customize dialog bg color
111+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(context, builder);
110112

111113
AlertDialog alertDialog = builder.create();
112114

@@ -157,7 +159,8 @@ private void askToOverride() {
157159
progressDialog.getButton(ProgressDialog.BUTTON_POSITIVE).setVisibility(View.GONE);
158160
});
159161

160-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(mContext, builder);
162+
// NMC customization: customize dialog bg color
163+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(mContext, builder);
161164
builder.create().show();
162165
}
163166

@@ -250,7 +253,8 @@ private void askToStillMove() {
250253
}
251254
});
252255

253-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(mContext, builder);
256+
// NMC customization: customize dialog bg color
257+
DialogThemeUtils.INSTANCE.colorMaterialAlertDialogBackground(mContext, builder);
254258
builder.create().show();
255259
}
256260

app/src/main/java/com/owncloud/android/ui/activity/SyncedFoldersActivity.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import com.nextcloud.client.jobs.NotificationWork
3434
import com.nextcloud.client.jobs.upload.FileUploadWorker
3535
import com.nextcloud.client.preferences.SubFolderRule
3636
import com.nextcloud.utils.BatteryOptimizationHelper
37+
import com.nmc.android.utils.DialogThemeUtils
3738
import com.nextcloud.utils.extensions.getParcelableArgument
3839
import com.nextcloud.utils.extensions.isDialogFragmentReady
3940
import com.nextcloud.utils.extensions.setVisibleIf
@@ -220,7 +221,8 @@ class SyncedFoldersActivity :
220221
.setTitle(R.string.autoupload_disable_power_save_check)
221222
.setMessage(getString(R.string.power_save_check_dialog_message))
222223

223-
viewThemeUtils.dialog.colorMaterialAlertDialogBackground(this, builder)
224+
// NMC customization
225+
DialogThemeUtils.colorMaterialAlertDialogBackground(this, builder)
224226

225227
return builder.create()
226228
}
@@ -847,7 +849,7 @@ class SyncedFoldersActivity :
847849
return
848850
}
849851

850-
val dialog = MaterialAlertDialogBuilder(this, R.style.Theme_ownCloud_Dialog)
852+
val dialog = MaterialAlertDialogBuilder(this)
851853
.setTitle(R.string.battery_optimization_title)
852854
.setMessage(R.string.battery_optimization_message)
853855
.setPositiveButton(R.string.battery_optimization_disable) { _, _ ->
@@ -856,11 +858,9 @@ class SyncedFoldersActivity :
856858
.setNeutralButton(R.string.battery_optimization_close, null)
857859
.setIcon(R.drawable.ic_battery_alert)
858860

859-
val alertDialog = dialog.show()
861+
// NMC customization
862+
DialogThemeUtils.colorMaterialAlertDialogBackground(this, dialog)
860863

861-
viewThemeUtils.platform.colorTextButtons(
862-
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE),
863-
alertDialog.getButton(AlertDialog.BUTTON_NEUTRAL)
864-
)
864+
dialog.show()
865865
}
866866
}

app/src/main/java/com/owncloud/android/ui/adapter/StoragePathAdapter.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ class StoragePathAdapter(
2929
val storagePathItem = pathList[position]
3030
holder.binding.btnStoragePath.setIconResource(storagePathItem.icon)
3131
holder.binding.btnStoragePath.text = storagePathItem.name
32-
viewThemeUtils.material.colorMaterialButtonPrimaryBorderless(holder.binding.btnStoragePath)
3332
}
3433
}
3534

0 commit comments

Comments
 (0)