aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2014-05-08 18:06:12 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2014-05-08 18:12:55 +0200
commit4ba06e7735eb64c7b3d02c605e8c91fe986c1976 (patch)
treecd7d7aa916f6d283d63529e202fc902be29f75ce /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java
parentcbc3988628d09ed8a4fe967e1f21786f46cb038b (diff)
downloadopen-keychain-4ba06e7735eb64c7b3d02c605e8c91fe986c1976.tar.gz
open-keychain-4ba06e7735eb64c7b3d02c605e8c91fe986c1976.tar.bz2
open-keychain-4ba06e7735eb64c7b3d02c605e8c91fe986c1976.zip
ui: purplize dialog headers (huge hack inside)
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java
new file mode 100644
index 000000000..4b40b7ef1
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/dialog/CustomAlertDialogBuilder.java
@@ -0,0 +1,40 @@
+package org.sufficientlysecure.keychain.ui.dialog;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.view.View;
+import android.widget.TextView;
+
+import org.sufficientlysecure.keychain.R;
+
+/** This class extends AlertDiaog.Builder, styling the header using emphasis color.
+ * Note that this class is a huge hack, because dialog boxes aren't easily stylable.
+ * Also, the dialog NEEDS to be called with show() directly, not create(), otherwise
+ * the order of internal operations will lead to a crash!
+ */
+public class CustomAlertDialogBuilder extends AlertDialog.Builder {
+
+ public CustomAlertDialogBuilder(Activity activity) {
+ super(activity);
+ }
+
+ @Override
+ public AlertDialog show() {
+ AlertDialog dialog = super.show();
+
+ int dividerId = dialog.getContext().getResources().getIdentifier("android:id/titleDivider", null, null);
+ View divider = dialog.findViewById(dividerId);
+ if (divider != null) {
+ divider.setBackgroundColor(dialog.getContext().getResources().getColor(R.color.emphasis));
+ }
+
+ int textViewId = dialog.getContext().getResources().getIdentifier("android:id/alertTitle", null, null);
+ TextView tv = (TextView) dialog.findViewById(textViewId);
+ if (tv != null) {
+ tv.setTextColor(dialog.getContext().getResources().getColor(R.color.emphasis));
+ }
+
+ return dialog;
+ }
+
+}