Do export only activities that need to react to external intents

For some reason SettingsActivity does not need to be exported for it to be launched from system app settings.

androidx.test.ext:junit needed to be upgraded because it somehow brought in an activity without exported attribute
This commit is contained in:
Torsten Grote
2022-09-12 16:44:46 -03:00
parent e8994d503e
commit c04937b1fa
4 changed files with 54 additions and 8 deletions

View File

@@ -1,5 +1,6 @@
package org.briarproject.briar.android.settings;
import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
@@ -18,6 +19,8 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.PreferenceFragmentCompat.OnPreferenceStartFragmentCallback;
import static android.content.Intent.ACTION_MANAGE_NETWORK_USAGE;
@MethodsNotNullByDefault
@ParametersNotNullByDefault
public class SettingsActivity extends BriarActivity
@@ -40,12 +43,18 @@ public class SettingsActivity extends BriarActivity
actionBar.setDisplayHomeAsUpEnabled(true);
}
// show display fragment after theme change
Bundle extras = getIntent().getExtras();
Intent i = getIntent();
Bundle extras = i.getExtras();
if (bundle == null && extras != null &&
extras.getBoolean(EXTRA_THEME_CHANGE, false)) {
// show display fragment after theme change
FragmentManager fragmentManager = getSupportFragmentManager();
showNextFragment(fragmentManager, new DisplayFragment());
} else if (bundle == null &&
ACTION_MANAGE_NETWORK_USAGE.equals(i.getAction())) {
// show connection if coming from network settings
FragmentManager fragmentManager = getSupportFragmentManager();
showNextFragment(fragmentManager, new ConnectionsFragment());
}
setContentView(R.layout.activity_settings);