Merge "Adding app specific screen for "External Sources""
This commit is contained in:
committed by
Android (Google) Code Review
commit
a2a09c9ce2
@@ -131,6 +131,7 @@ public class Settings extends SettingsActivity {
|
||||
|
||||
public static class ManageExternalSourcesActivity extends SettingsActivity {
|
||||
/* empty */ }
|
||||
public static class ManageAppExternalSourcesActivity extends SettingsActivity { /* empty */ }
|
||||
|
||||
public static class WifiCallingSuggestionActivity extends SettingsActivity { /* empty */ }
|
||||
public static class ZenModeAutomationSuggestionActivity extends SettingsActivity { /* empty */ }
|
||||
|
@@ -15,6 +15,9 @@
|
||||
*/
|
||||
package com.android.settings.applications;
|
||||
|
||||
import static android.app.Activity.RESULT_CANCELED;
|
||||
import static android.app.Activity.RESULT_OK;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
@@ -26,6 +29,7 @@ import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Settings;
|
||||
import com.android.settings.applications.AppStateInstallAppsBridge.InstallAppsState;
|
||||
import com.android.settingslib.applications.ApplicationsState.AppEntry;
|
||||
|
||||
@@ -67,6 +71,10 @@ public class ExternalSourcesDetails extends AppInfoWithHeader
|
||||
final boolean checked = (Boolean) newValue;
|
||||
if (preference == mSwitchPref) {
|
||||
if (mInstallAppsState != null && checked != mInstallAppsState.canInstallApps()) {
|
||||
if (Settings.ManageAppExternalSourcesActivity.class.getName().equals(
|
||||
getIntent().getComponent().getClassName())) {
|
||||
setResult(checked ? RESULT_OK : RESULT_CANCELED);
|
||||
}
|
||||
setCanInstallApps(checked);
|
||||
refreshUi();
|
||||
}
|
||||
@@ -97,9 +105,13 @@ public class ExternalSourcesDetails extends AppInfoWithHeader
|
||||
protected boolean refreshUi() {
|
||||
mInstallAppsState = mAppBridge.createInstallAppsStateFor(mPackageName,
|
||||
mPackageInfo.applicationInfo.uid);
|
||||
|
||||
final boolean canWrite = mInstallAppsState.canInstallApps();
|
||||
mSwitchPref.setChecked(canWrite);
|
||||
if (!mInstallAppsState.isPotentialAppSource()) {
|
||||
// Invalid app entry. Should not allow changing permission
|
||||
mSwitchPref.setEnabled(false);
|
||||
return true;
|
||||
}
|
||||
final boolean canInstallApps = mInstallAppsState.canInstallApps();
|
||||
mSwitchPref.setChecked(canInstallApps);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@@ -50,6 +50,7 @@ import com.android.settings.accounts.UserAndAccountDashboardFragment;
|
||||
import com.android.settings.applications.AdvancedAppSettings;
|
||||
import com.android.settings.applications.AppAndNotificationDashboardFragment;
|
||||
import com.android.settings.applications.DrawOverlayDetails;
|
||||
import com.android.settings.applications.ExternalSourcesDetails;
|
||||
import com.android.settings.applications.InstalledAppDetails;
|
||||
import com.android.settings.applications.ManageApplications;
|
||||
import com.android.settings.applications.ManageDomainUrls;
|
||||
@@ -214,6 +215,7 @@ public class SettingsGateway {
|
||||
ProcessStatsSummary.class.getName(),
|
||||
DrawOverlayDetails.class.getName(),
|
||||
WriteSettingsDetails.class.getName(),
|
||||
ExternalSourcesDetails.class.getName(),
|
||||
AdvancedAppSettings.class.getName(),
|
||||
WallpaperTypeSettings.class.getName(),
|
||||
VrListenerSettings.class.getName(),
|
||||
|
Reference in New Issue
Block a user