Create version 2 of InstalledAppDetails

- this is the first step for converting InstalledAppDetails into
DashboardFragment
- add a feature flag to determine whether to show the new installed app
detail page.
- decouple the fragment from AppInfoBase: extends from
SettingsPreferenceFragment directly and copy all codes from
AppInfoBase.

Bug: 69384089
Test: make RunSettingsRoboTests
Change-Id: If1ab5b216620eaba1d6bde20e65e7a602931fd94
This commit is contained in:
Doris Ling
2017-11-17 15:15:27 -08:00
parent 1eaf52aad4
commit 529e207986
12 changed files with 1782 additions and 24 deletions

View File

@@ -20,6 +20,7 @@ import android.os.Bundle;
import android.os.UserHandle;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.FeatureFlagUtils;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -31,6 +32,8 @@ import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.applications.AppStateBaseBridge;
import com.android.settings.applications.InstalledAppDetails;
import com.android.settings.applications.AppInfoDashboardFragment;
import com.android.settings.core.FeatureFlags;
import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.AppSwitchPreference;
@@ -271,10 +274,17 @@ public class UnrestrictedDataAccess extends SettingsPreferenceFragment
protected void onClick() {
if (mState.isDataSaverBlacklisted) {
// app is blacklisted, launch App Data Usage screen
InstalledAppDetails.startAppInfoFragment(AppDataUsage.class,
R.string.app_data_usage,
UnrestrictedDataAccess.this,
mEntry);
if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.APP_INFO_V2)) {
AppInfoDashboardFragment.startAppInfoFragment(AppDataUsage.class,
R.string.app_data_usage,
UnrestrictedDataAccess.this,
mEntry);
} else {
InstalledAppDetails.startAppInfoFragment(AppDataUsage.class,
R.string.app_data_usage,
UnrestrictedDataAccess.this,
mEntry);
}
} else {
// app is not blacklisted, let superclass handle toggle switch
super.onClick();