Catalyst framework integration
Bug: 335132588 Flag: com.android.settingslib.flags.settings_catalyst Test: Presubmit Change-Id: Ic0f0193fd5cee144f2fab36ae5190156efb7bd10
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings;
|
||||
|
||||
import static com.android.settingslib.flags.Flags.settingsCatalyst;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -42,13 +44,20 @@ import com.android.settings.overlay.FeatureFactoryImpl;
|
||||
import com.android.settings.spa.SettingsSpaEnvironment;
|
||||
import com.android.settingslib.applications.AppIconCacheManager;
|
||||
import com.android.settingslib.datastore.BackupRestoreStorageManager;
|
||||
import com.android.settingslib.metadata.PreferenceScreenMetadata;
|
||||
import com.android.settingslib.metadata.PreferenceScreenRegistry;
|
||||
import com.android.settingslib.metadata.ProvidePreferenceScreenOptions;
|
||||
import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory;
|
||||
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.List;
|
||||
|
||||
/** Settings application which sets up activity embedding rules for the large screen device. */
|
||||
@ProvidePreferenceScreenOptions(
|
||||
codegenCollector = "com.android.settings/PreferenceScreenCollector/get"
|
||||
)
|
||||
public class SettingsApplication extends Application {
|
||||
|
||||
private WeakReference<SettingsHomepageActivity> mHomeActivity = new WeakReference<>(null);
|
||||
@@ -64,6 +73,11 @@ public class SettingsApplication extends Application {
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
|
||||
if (settingsCatalyst()) {
|
||||
PreferenceScreenRegistry.INSTANCE.setPreferenceScreensSupplier(
|
||||
this::getPreferenceScreens);
|
||||
}
|
||||
|
||||
BackupRestoreStorageManager.getInstance(this)
|
||||
.add(
|
||||
new BatterySettingsStorage(this),
|
||||
@@ -90,6 +104,13 @@ public class SettingsApplication extends Application {
|
||||
registerActivityLifecycleCallbacks(new DeveloperOptionsActivityLifecycle());
|
||||
}
|
||||
|
||||
/** Returns the screens using metadata. */
|
||||
protected List<PreferenceScreenMetadata> getPreferenceScreens() {
|
||||
// PreferenceScreenCollector is generated by annotation processor from classes annotated
|
||||
// with @ProvidePreferenceScreen
|
||||
return PreferenceScreenCollector.get(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTerminate() {
|
||||
BackupRestoreStorageManager.getInstance(this).removeAll();
|
||||
|
||||
Reference in New Issue
Block a user