Use new app header in more screens.
- This covers all subclasses of AppInfoWithHeader: app launch settings, app storage settings, draw over settings, write setting details, usage access settings. Bug: 32442716 Test: RunSettingsRoboTests Change-Id: I8e5831a4fcce5f98c3a6cc6b0fd66bc4a53d1330
This commit is contained in:
@@ -16,10 +16,16 @@
|
||||
|
||||
package com.android.settings.applications;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.settings.AppHeader;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
import static com.android.settings.applications.AppHeaderController.ActionType;
|
||||
|
||||
public abstract class AppInfoWithHeader extends AppInfoBase {
|
||||
|
||||
@@ -34,8 +40,27 @@ public abstract class AppInfoWithHeader extends AppInfoBase {
|
||||
}
|
||||
mCreated = true;
|
||||
if (mPackageInfo == null) return;
|
||||
AppHeader.createAppHeader(this, mPackageInfo.applicationInfo.loadIcon(mPm),
|
||||
mPackageInfo.applicationInfo.loadLabel(mPm), mPackageName,
|
||||
mPackageInfo.applicationInfo.uid, 0);
|
||||
final Activity activity = getActivity();
|
||||
if (!FeatureFactory.getFactory(activity)
|
||||
.getDashboardFeatureProvider(activity).isEnabled()) {
|
||||
AppHeader.createAppHeader(this, mPackageInfo.applicationInfo.loadIcon(mPm),
|
||||
mPackageInfo.applicationInfo.loadLabel(mPm), mPackageName,
|
||||
mPackageInfo.applicationInfo.uid, 0);
|
||||
} else {
|
||||
final View appHeader = FeatureFactory.getFactory(activity)
|
||||
.getApplicationFeatureProvider(activity)
|
||||
.newAppHeaderController(this, null /* appHeader */)
|
||||
.setIcon(mPackageInfo.applicationInfo.loadIcon(mPm))
|
||||
.setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
|
||||
.setSummary(mPackageInfo)
|
||||
.setPackageName(mPackageName)
|
||||
.setUid(mPackageInfo.applicationInfo.uid)
|
||||
.setButtonActions(ActionType.ACTION_APP_INFO, ActionType.ACTION_NONE)
|
||||
.done();
|
||||
final Preference appHeaderPref = new LayoutPreference(getPrefContext(), appHeader);
|
||||
// Makes sure it's the first preference onscreen.
|
||||
appHeaderPref.setOrder(-1000);
|
||||
getPreferenceScreen().addPreference(appHeaderPref);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user