aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util
diff options
context:
space:
mode:
authorAdithya Abraham Philip <adithyaphilip@gmail.com>2015-07-03 09:27:46 +0530
committerAdithya Abraham Philip <adithyaphilip@gmail.com>2015-07-03 20:46:16 +0530
commitaca106e8080dc58a0020b23f671daf1431674afb (patch)
treec5d50a4db3b3cf716905a14b49aad2f98ac12964 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util
parent89f017aa9c1750de7574865baf29d071ff2862a5 (diff)
downloadopen-keychain-aca106e8080dc58a0020b23f671daf1431674afb.tar.gz
open-keychain-aca106e8080dc58a0020b23f671daf1431674afb.tar.bz2
open-keychain-aca106e8080dc58a0020b23f671daf1431674afb.zip
fixed OrbotRequiredDialogActivity not finishing, orbot install dialog style
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util/InstallDialogFragmentHelper.java34
1 files changed, 30 insertions, 4 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util/InstallDialogFragmentHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util/InstallDialogFragmentHelper.java
index 9f96db6d0..f21d69c48 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util/InstallDialogFragmentHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/util/InstallDialogFragmentHelper.java
@@ -26,6 +26,8 @@ import android.os.Bundle;
import android.os.Message;
import android.os.Messenger;
import android.os.RemoteException;
+import android.view.ContextThemeWrapper;
+
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.ui.dialog.CustomAlertDialogBuilder;
@@ -53,7 +55,8 @@ public class InstallDialogFragmentHelper {
}
public static AlertDialog getInstallDialogFromArgs(Bundle args, final Activity activity,
- final int messengerMiddleButtonClicked) {
+ final int messengerMiddleButtonClicked,
+ final int messengerDialogDimissed) {
final Messenger messenger = args.getParcelable(ARG_MESSENGER);
final int title = args.getInt(ARG_TITLE);
@@ -62,7 +65,12 @@ public class InstallDialogFragmentHelper {
final String installPath = args.getString(ARG_INSTALL_PATH);
final boolean useMiddleButton = args.getBoolean(ARG_USE_MIDDLE_BUTTON);
- CustomAlertDialogBuilder builder = new CustomAlertDialogBuilder(activity);
+ // if the dialog is displayed from the application class, design is missing.
+ // hack to get holo design (which is not automatically applied due to activity's
+ // Theme.NoDisplay)
+ ContextThemeWrapper theme = new ContextThemeWrapper(activity,
+ R.style.Theme_AppCompat_Light_Dialog);
+ CustomAlertDialogBuilder builder = new CustomAlertDialogBuilder(theme);
builder.setTitle(title).setMessage(message);
@@ -70,7 +78,15 @@ public class InstallDialogFragmentHelper {
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
-
+ Message msg = Message.obtain();
+ msg.what = messengerDialogDimissed;
+ try {
+ messenger.send(msg);
+ } catch (RemoteException e) {
+ Log.w(Constants.TAG, "Exception sending message, Is handler present?", e);
+ } catch (NullPointerException e) {
+ Log.w(Constants.TAG, "Messenger is null!", e);
+ }
}
});
@@ -81,6 +97,16 @@ public class InstallDialogFragmentHelper {
Uri uri = Uri.parse(installPath);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
activity.startActivity(intent);
+
+ Message msg = Message.obtain();
+ msg.what = messengerDialogDimissed;
+ try {
+ messenger.send(msg);
+ } catch (RemoteException e) {
+ Log.w(Constants.TAG, "Exception sending message, Is handler present?", e);
+ } catch (NullPointerException e) {
+ Log.w(Constants.TAG, "Messenger is null!", e);
+ }
}
}
);
@@ -90,7 +116,7 @@ public class InstallDialogFragmentHelper {
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- Message msg = new Message();
+ Message msg = Message.obtain();
msg.what = messengerMiddleButtonClicked;
try {
messenger.send(msg);