Adds the Clear App dialog for Instant Apps

Adds a confirmation dialog for the user when tapping clear app.

From this dialog the user can either cancel, or confirm they
want to clear the app.

Test: make RunSettingsRoboTests

Bug: 36536695
Change-Id: Idffcf5ef318578ae2e075ea2cbb35323d41acade
This commit is contained in:
Jesse Evans
2017-03-28 19:53:09 -07:00
parent ebbfce0bf1
commit 5c9f7a88b4
9 changed files with 291 additions and 27 deletions

View File

@@ -85,6 +85,7 @@ import com.android.settings.applications.defaultapps.DefaultEmergencyPreferenceC
import com.android.settings.applications.defaultapps.DefaultHomePreferenceController;
import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
import com.android.settings.applications.defaultapps.DefaultSmsPreferenceController;
import com.android.settings.applications.instantapps.InstantAppButtonsController;
import com.android.settings.datausage.AppDataUsage;
import com.android.settings.datausage.DataUsageList;
import com.android.settings.datausage.DataUsageSummary;
@@ -190,6 +191,8 @@ public class InstalledAppDetails extends AppInfoBase
protected ProcStatsData mStatsManager;
protected ProcStatsPackageEntry mStats;
private InstantAppButtonsController mInstantAppButtonsController;
private AppStorageStats mLastResult;
private boolean handleDisableable(Button button) {
@@ -771,6 +774,9 @@ public class InstalledAppDetails extends AppInfoBase
.setNegativeButton(R.string.dlg_cancel, null)
.create();
}
if (mInstantAppButtonsController != null) {
return mInstantAppButtonsController.createDialog(id);
}
return null;
}
@@ -1120,10 +1126,11 @@ public class InstalledAppDetails extends AppInfoBase
if (AppUtils.isInstant(mPackageInfo.applicationInfo)) {
LayoutPreference buttons = (LayoutPreference) findPreference(KEY_INSTANT_APP_BUTTONS);
final Activity activity = getActivity();
FeatureFactory.getFactory(activity)
mInstantAppButtonsController = FeatureFactory.getFactory(activity)
.getApplicationFeatureProvider(activity)
.newInstantAppButtonsController(this,
buttons.findViewById(R.id.instant_app_button_container))
buttons.findViewById(R.id.instant_app_button_container),
id -> showDialogInner(id, 0))
.setPackageName(mPackageName)
.show();
}