From 1c4d2777716081d13526648ee017bc44dc19d26a Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Fri, 7 Jun 2019 10:38:56 -0300 Subject: [PATCH] Don't route intents for MANAGE_NETWORK_USAGE settings This is because we require a special permission to launch this intent and we prefer requiring this permission to having the NavDrawerActivity added to the back stack. This commit also re-adds the deprecated USE_FINGERPRINT permission as Android Studio would show an error otherwise. --- briar-android/src/main/AndroidManifest.xml | 12 ++++++------ .../briar/android/activity/BriarActivity.java | 2 ++ .../briar/android/navdrawer/IntentRouter.java | 6 ------ 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/briar-android/src/main/AndroidManifest.xml b/briar-android/src/main/AndroidManifest.xml index e0dbc1a3d9..0afef62b0c 100644 --- a/briar-android/src/main/AndroidManifest.xml +++ b/briar-android/src/main/AndroidManifest.xml @@ -21,6 +21,8 @@ <uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> + <!--suppress DeprecatedClassUsageInspection --> + <uses-permission android:name="android.permission.USE_FINGERPRINT"/> <uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> @@ -104,11 +106,6 @@ android:name="org.briarproject.briar.android.navdrawer.NavDrawerActivity" android:launchMode="singleTask" android:theme="@style/BriarTheme.NoActionBar"> - - <intent-filter> - <action android:name="android.intent.action.MANAGE_NETWORK_USAGE"/> - <category android:name="android.intent.category.DEFAULT"/> - </intent-filter> <intent-filter android:label="@string/add_contact_remotely_title_case"> <action android:name="android.intent.action.VIEW"/> @@ -122,7 +119,6 @@ <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="text/plain"/> </intent-filter> - </activity> <activity @@ -364,6 +360,10 @@ <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="org.briarproject.briar.android.navdrawer.NavDrawerActivity"/> + <intent-filter> + <action android:name="android.intent.action.MANAGE_NETWORK_USAGE"/> + <category android:name="android.intent.category.DEFAULT"/> + </intent-filter> </activity> <activity diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java index 4db1bd6b2e..5315abb6ab 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java @@ -66,6 +66,8 @@ public abstract class BriarActivity extends BaseActivity { @Nullable Intent data) { super.onActivityResult(request, result, data); if (request == REQUEST_PASSWORD) { + // We get RESULT_CANCELED when the account gets deleted or + // StartupActivity finishes before entering the password. if (result == RESULT_OK) briarController.startAndBindService(); } else if (request == REQUEST_UNLOCK && result != RESULT_OK) { // We arrive here, if the user presses 'back' diff --git a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/IntentRouter.java b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/IntentRouter.java index 9a9e1c1747..6e6682f1a3 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/IntentRouter.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/IntentRouter.java @@ -5,9 +5,7 @@ import android.content.Intent; import org.briarproject.briar.android.activity.BriarActivity; import org.briarproject.briar.android.contact.add.remote.AddContactActivity; -import org.briarproject.briar.android.settings.SettingsActivity; -import static android.content.Intent.ACTION_MANAGE_NETWORK_USAGE; import static android.content.Intent.ACTION_SEND; import static android.content.Intent.ACTION_VIEW; import static android.content.Intent.EXTRA_TEXT; @@ -29,10 +27,6 @@ class IntentRouter { LINK_REGEX.matcher(i.getStringExtra(EXTRA_TEXT)).find()) { redirect(ctx, i, AddContactActivity.class); } - // network settings as launched from system settings app - else if (ACTION_MANAGE_NETWORK_USAGE.equals(action)) { - redirect(ctx, i, SettingsActivity.class); - } } private static void redirect(Context ctx, Intent i, -- GitLab