Merge "[TP] Refector wallpaper picker injectors" into tm-qpr-dev am: 3dcc641cbe am: 52eca83bd7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/ThemePicker/+/19994898
Change-Id: Ibb305b4a753e685441a64cb3595dd90c4560aec6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/customization/module/DefaultCustomizationInjector.java b/src/com/android/customization/module/ThemePickerInjector.java
similarity index 70%
rename from src/com/android/customization/module/DefaultCustomizationInjector.java
rename to src/com/android/customization/module/ThemePickerInjector.java
index 9afad41..ef2b60a 100644
--- a/src/com/android/customization/module/DefaultCustomizationInjector.java
+++ b/src/com/android/customization/module/ThemePickerInjector.java
@@ -32,71 +32,45 @@
import com.android.customization.model.theme.OverlayManagerCompat;
import com.android.customization.model.theme.ThemeBundleProvider;
import com.android.customization.model.theme.ThemeManager;
-import com.android.wallpaper.model.CategoryProvider;
import com.android.wallpaper.model.LiveWallpaperInfo;
import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.module.BaseWallpaperInjector;
import com.android.wallpaper.module.CustomizationSections;
-import com.android.wallpaper.module.DefaultCategoryProvider;
-import com.android.wallpaper.module.LoggingOptInStatusProvider;
+import com.android.wallpaper.module.WallpaperPicker2Injector;
import com.android.wallpaper.module.WallpaperPreferences;
-import com.android.wallpaper.module.WallpaperRotationRefresher;
-import com.android.wallpaper.monitor.PerformanceMonitor;
import com.android.wallpaper.picker.CustomizationPickerActivity;
import com.android.wallpaper.picker.ImagePreviewFragment;
import com.android.wallpaper.picker.LivePreviewFragment;
import com.android.wallpaper.picker.PreviewFragment;
-public class DefaultCustomizationInjector extends BaseWallpaperInjector
+/**
+ * A concrete, real implementation of the dependency provider.
+ */
+public class ThemePickerInjector extends WallpaperPicker2Injector
implements CustomizationInjector {
- private CategoryProvider mCategoryProvider;
- private ThemesUserEventLogger mUserEventLogger;
- private WallpaperRotationRefresher mWallpaperRotationRefresher;
- private PerformanceMonitor mPerformanceMonitor;
- private WallpaperPreferences mPrefs;
private CustomizationSections mCustomizationSections;
+ private ThemesUserEventLogger mUserEventLogger;
+ private WallpaperPreferences mPrefs;
@Override
- public synchronized WallpaperPreferences getPreferences(Context context) {
- if (mPrefs == null) {
- mPrefs = new DefaultCustomizationPreferences(context.getApplicationContext());
+ public CustomizationSections getCustomizationSections() {
+ if (mCustomizationSections == null) {
+ mCustomizationSections = new DefaultCustomizationSections();
}
- return mPrefs;
+ return mCustomizationSections;
}
@Override
- public CustomizationPreferences getCustomizationPreferences(Context context) {
- return (CustomizationPreferences) getPreferences(context);
+ public Intent getDeepLinkRedirectIntent(Context context, Uri uri) {
+ Intent intent = new Intent();
+ intent.setClass(context, CustomizationPickerActivity.class);
+ intent.setData(uri);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ return intent;
}
@Override
- public synchronized CategoryProvider getCategoryProvider(Context context) {
- if (mCategoryProvider == null) {
- mCategoryProvider = new DefaultCategoryProvider(context.getApplicationContext());
- }
- return mCategoryProvider;
- }
-
- @Override
- public synchronized ThemesUserEventLogger getUserEventLogger(Context context) {
- if (mUserEventLogger == null) {
- mUserEventLogger = new StatsLogUserEventLogger(context);
- }
- return mUserEventLogger;
- }
-
- @Override
- public synchronized WallpaperRotationRefresher getWallpaperRotationRefresher() {
- if (mWallpaperRotationRefresher == null) {
- mWallpaperRotationRefresher = new WallpaperRotationRefresher() {
- @Override
- public void refreshWallpaper(Context context, Listener listener) {
- // Not implemented
- listener.onError();
- }
- };
- }
- return mWallpaperRotationRefresher;
+ public String getDownloadableIntentAction() {
+ return null;
}
@Override
@@ -120,35 +94,27 @@
}
@Override
- public Intent getDeepLinkRedirectIntent(Context context, Uri uri) {
- Intent intent = new Intent();
- intent.setClass(context, CustomizationPickerActivity.class);
- intent.setData(uri);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
- return intent;
- }
-
- @Override
- public String getDownloadableIntentAction() {
- return null;
- }
-
- @Override
- public synchronized PerformanceMonitor getPerformanceMonitor() {
- if (mPerformanceMonitor == null) {
- mPerformanceMonitor = new PerformanceMonitor() {
- @Override
- public void recordFullResPreviewLoadedMemorySnapshot() {
- // No Op
- }
- };
+ public synchronized ThemesUserEventLogger getUserEventLogger(Context context) {
+ if (mUserEventLogger == null) {
+ mUserEventLogger = new StatsLogUserEventLogger(context);
}
- return mPerformanceMonitor;
+ return mUserEventLogger;
}
@Override
- public synchronized LoggingOptInStatusProvider getLoggingOptInStatusProvider(Context context) {
- return null;
+ public synchronized WallpaperPreferences getPreferences(Context context) {
+ if (mPrefs == null) {
+ mPrefs = new DefaultCustomizationPreferences(context.getApplicationContext());
+ }
+ return mPrefs;
+ }
+
+ //
+ // Functions from {@link CustomizationInjector}
+ //
+ @Override
+ public CustomizationPreferences getCustomizationPreferences(Context context) {
+ return (CustomizationPreferences) getPreferences(context);
}
@Override
@@ -156,12 +122,4 @@
OverlayManagerCompat overlayManagerCompat, ThemesUserEventLogger logger) {
return new ThemeManager(provider, activity, overlayManagerCompat, logger);
}
-
- @Override
- public CustomizationSections getCustomizationSections() {
- if (mCustomizationSections == null) {
- mCustomizationSections = new DefaultCustomizationSections();
- }
- return mCustomizationSections;
- }
}
diff --git a/src/com/android/customization/picker/CustomizationPickerApplication.java b/src/com/android/customization/picker/CustomizationPickerApplication.java
index 79d075a..178cfbf 100644
--- a/src/com/android/customization/picker/CustomizationPickerApplication.java
+++ b/src/com/android/customization/picker/CustomizationPickerApplication.java
@@ -17,7 +17,7 @@
import android.app.Application;
-import com.android.customization.module.DefaultCustomizationInjector;
+import com.android.customization.module.ThemePickerInjector;
import com.android.wallpaper.module.InjectorProvider;
public class CustomizationPickerApplication extends Application {
@@ -26,6 +26,6 @@
super.onCreate();
// Initialize the injector.
- InjectorProvider.setInjector(new DefaultCustomizationInjector());
+ InjectorProvider.setInjector(new ThemePickerInjector());
}
}
diff --git a/src/com/android/customization/picker/grid/GridFragment.java b/src/com/android/customization/picker/grid/GridFragment.java
index c4029d6..d60ebca 100644
--- a/src/com/android/customization/picker/grid/GridFragment.java
+++ b/src/com/android/customization/picker/grid/GridFragment.java
@@ -160,7 +160,7 @@
getActivity(), view.findViewById(R.id.wallpaper_preview_image), wallpaperSurface);
// Loads current Wallpaper.
CurrentWallpaperInfoFactory factory = InjectorProvider.getInjector()
- .getCurrentWallpaperFactory(getContext().getApplicationContext());
+ .getCurrentWallpaperInfoFactory(getContext().getApplicationContext());
factory.createCurrentWallpaperInfos((homeWallpaper, lockWallpaper, presentationMode) -> {
mHomeWallpaper = homeWallpaper;
wallpaperPreviewer.setWallpaper(mHomeWallpaper, /* listener= */ null);
diff --git a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java b/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
index 6f20a1a..ea9099f 100644
--- a/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
+++ b/src/com/android/customization/picker/theme/CustomThemeNameFragment.java
@@ -69,7 +69,7 @@
mTitle = view.findViewById(R.id.component_options_title);
mTitle.setText(mTitleResId);
CurrentWallpaperInfoFactory currentWallpaperFactory = InjectorProvider.getInjector()
- .getCurrentWallpaperFactory(getActivity().getApplicationContext());
+ .getCurrentWallpaperInfoFactory(getActivity().getApplicationContext());
CustomizationInjector injector = (CustomizationInjector) InjectorProvider.getInjector();
mCustomizationPreferences = injector.getCustomizationPreferences(getContext());
diff --git a/src/com/android/customization/picker/theme/ThemeFragment.java b/src/com/android/customization/picker/theme/ThemeFragment.java
index f5d56ca..3a9a56f 100644
--- a/src/com/android/customization/picker/theme/ThemeFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFragment.java
@@ -115,7 +115,7 @@
mLoading = view.findViewById(R.id.loading_indicator);
mError = view.findViewById(R.id.error_section);
mCurrentWallpaperFactory = InjectorProvider.getInjector()
- .getCurrentWallpaperFactory(getActivity().getApplicationContext());
+ .getCurrentWallpaperInfoFactory(getActivity().getApplicationContext());
mOptionsContainer = view.findViewById(R.id.options_container);
mThemeOptionPreviewer = new ThemeOptionPreviewer(
diff --git a/src_override/com/android/wallpaper/module/WallpapersInjector.java b/src_override/com/android/wallpaper/module/WallpapersInjector.java
deleted file mode 100755
index e582fe4..0000000
--- a/src_override/com/android/wallpaper/module/WallpapersInjector.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.wallpaper.module;
-
-import static com.android.wallpaper.picker.PreviewFragment.ARG_FULL_SCREEN;
-import static com.android.wallpaper.picker.PreviewFragment.ARG_PREVIEW_MODE;
-import static com.android.wallpaper.picker.PreviewFragment.ARG_TESTING_MODE_ENABLED;
-import static com.android.wallpaper.picker.PreviewFragment.ARG_VIEW_AS_HOME;
-import static com.android.wallpaper.picker.PreviewFragment.ARG_WALLPAPER;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-
-import androidx.fragment.app.Fragment;
-
-import com.android.wallpaper.model.CategoryProvider;
-import com.android.wallpaper.model.LiveWallpaperInfo;
-import com.android.wallpaper.model.WallpaperInfo;
-import com.android.wallpaper.monitor.PerformanceMonitor;
-import com.android.wallpaper.picker.CustomizationPickerActivity;
-import com.android.wallpaper.picker.ImagePreviewFragment;
-import com.android.wallpaper.picker.LivePreviewFragment;
-import com.android.wallpaper.picker.PreviewFragment;
-
-/**
- * A concrete, real implementation of the dependency provider.
- */
-public class WallpapersInjector extends BaseWallpaperInjector {
- private CategoryProvider mCategoryProvider;
- private UserEventLogger mUserEventLogger;
- private WallpaperRotationRefresher mWallpaperRotationRefresher;
- private PerformanceMonitor mPerformanceMonitor;
-
- @Override
- public synchronized CategoryProvider getCategoryProvider(Context context) {
- if (mCategoryProvider == null) {
- mCategoryProvider = new DefaultCategoryProvider(context.getApplicationContext());
- }
- return mCategoryProvider;
- }
-
- @Override
- public synchronized UserEventLogger getUserEventLogger(Context context) {
- if (mUserEventLogger == null) {
- mUserEventLogger = new NoOpUserEventLogger();
- }
- return mUserEventLogger;
- }
-
- @Override
- public synchronized WallpaperRotationRefresher getWallpaperRotationRefresher() {
- if (mWallpaperRotationRefresher == null) {
- mWallpaperRotationRefresher = new WallpaperRotationRefresher() {
- @Override
- public void refreshWallpaper(Context context, Listener listener) {
- // Not implemented
- listener.onError();
- }
- };
- }
- return mWallpaperRotationRefresher;
- }
-
- @Override
- public Fragment getPreviewFragment(
- Context context,
- WallpaperInfo wallpaperInfo,
- int mode,
- boolean viewAsHome,
- boolean viewFullScreen,
- boolean testingModeEnabled) {
- Bundle args = new Bundle();
- args.putParcelable(ARG_WALLPAPER, wallpaperInfo);
- args.putInt(ARG_PREVIEW_MODE, mode);
- args.putBoolean(ARG_VIEW_AS_HOME, viewAsHome);
- args.putBoolean(ARG_FULL_SCREEN, viewFullScreen);
- args.putBoolean(ARG_TESTING_MODE_ENABLED, testingModeEnabled);
- PreviewFragment fragment = wallpaperInfo instanceof LiveWallpaperInfo
- ? new LivePreviewFragment() : new ImagePreviewFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public Intent getDeepLinkRedirectIntent(Context context, Uri uri) {
- Intent intent = new Intent();
- intent.setClass(context, CustomizationPickerActivity.class);
- intent.setData(uri);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
- return intent;
- }
-
- @Override
- public synchronized PerformanceMonitor getPerformanceMonitor() {
- if (mPerformanceMonitor == null) {
- mPerformanceMonitor = new PerformanceMonitor() {
- @Override
- public void recordFullResPreviewLoadedMemorySnapshot() {
- // No Op
- }
- };
- }
- return mPerformanceMonitor;
- }
-
- @Override
- public synchronized LoggingOptInStatusProvider getLoggingOptInStatusProvider(Context context) {
- return null;
- }
-
- @Override
- public String getDownloadableIntentAction() {
- return null;
- }
-}