Fix ThemePicker build and exclude unused features

- Exclude Theme and Clock from builds since they are unused, should add
them back when the features are needed.

Screenshot: https://screenshot.googleplex.com/AeLSMUFq5EdndWr.png

Bug: 190354625
Test: m ThemePicker
Change-Id: I0219fa5b27354fc7afdcb5526e1b8e8e3d29b755
diff --git a/Android.bp b/Android.bp
index 8f02388..57d30ce 100644
--- a/Android.bp
+++ b/Android.bp
@@ -24,6 +24,22 @@
     srcs: [
         "src/**/*.java",
         "src/**/*.kt",
+        // Min requirement for CustomizationInjector and StatsLogUserEventLogger to build without Clock and Theme feature.
+        "src/com/android/customization/model/clock/BaseClockManager.java",
+        "src/com/android/customization/model/clock/Clockface.java",
+        "src/com/android/customization/model/clock/ClockManager.java",
+        "src/com/android/customization/model/clock/ClockProvider.java",
+        "src/com/android/customization/model/theme/OverlayManagerCompat.java",
+        "src/com/android/customization/model/theme/ThemeBundleProvider.java",
+        "src/com/android/customization/model/theme/ThemeManager.java",
+        "src/com/android/customization/model/theme/ThemeBundle.java",
+        "src/com/android/customization/model/theme/custom/CustomTheme.java",
+    ],
+    exclude_srcs: [
+        "src/com/android/customization/model/clock/**/*.java",
+        "src/com/android/customization/model/theme/**/*.java",
+        "src/com/android/customization/picker/clock/**/*.java",
+        "src/com/android/customization/picker/theme/**/*.java",
     ],
 }
 
@@ -80,5 +96,6 @@
     system_ext_specific: true,
     platform_apis: true,
     manifest: "AndroidManifest.xml",
+    additional_manifests: [":WallpaperPicker2_Manifest"],
     overrides: ["WallpaperPicker2"],
 }
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4f62429..bae1cb3 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -48,6 +48,7 @@
         android:name="com.android.customization.picker.CustomizationPickerApplication"
         android:theme="@style/CustomizationTheme">
         <activity
+            tools:node="replace"
             android:name="com.android.wallpaper.picker.CustomizationPickerActivity"
             android:label="@string/app_name"
             android:resizeableActivity="false"
@@ -65,10 +66,6 @@
              </intent-filter>
         </activity-alias>
 
-        <activity android:name="com.android.customization.picker.theme.CustomThemeActivity"
-                  android:resizeableActivity="false"
-                  android:theme="@style/CustomizationTheme.NoActionBar"/>
-
         <activity android:name="com.android.customization.picker.ViewOnlyFullPreviewActivity"
             android:resizeableActivity="false"
             android:theme="@style/CustomizationTheme.NoActionBar"/>
diff --git a/res/layout/theme_info_view.xml b/res/layout/theme_info_view.xml
index 83422ed..085a35e 100644
--- a/res/layout/theme_info_view.xml
+++ b/res/layout/theme_info_view.xml
@@ -14,7 +14,7 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<com.android.customization.widget.ThemeInfoView
+<com.android.customization.picker.theme.ThemeInfoView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -73,4 +73,4 @@
             android:layout_height="@dimen/theme_info_icon_size"
             android:layout_marginHorizontal="@dimen/theme_info_margin"/>
     </LinearLayout>
-</com.android.customization.widget.ThemeInfoView>
\ No newline at end of file
+</com.android.customization.picker.theme.ThemeInfoView>
\ No newline at end of file
diff --git a/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java b/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java
index 91c310c..44c6835 100644
--- a/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java
+++ b/src/com/android/customization/picker/ViewOnlyFullPreviewActivity.java
@@ -15,8 +15,6 @@
  */
 package com.android.customization.picker;
 
-import static com.android.customization.picker.theme.ThemeFullPreviewFragment.EXTRA_THEME_OPTION_TITLE;
-
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
@@ -28,7 +26,6 @@
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.customization.picker.grid.GridFullPreviewFragment;
-import com.android.customization.picker.theme.ThemeFullPreviewFragment;
 import com.android.wallpaper.R;
 import com.android.wallpaper.picker.AppbarFragment.AppbarFragmentHost;
 import com.android.wallpaper.widget.BottomActionBar;
@@ -81,13 +78,6 @@
         if (section == SECTION_GRID) {
             showFragment(GridFullPreviewFragment.newInstance(
                     getString(R.string.grid_title), bundle));
-        } else if (section == SECTION_STYLE) {
-            final String themeTitle = bundle.getString(EXTRA_THEME_OPTION_TITLE);
-            showFragment(ThemeFullPreviewFragment.newInstance(
-                    TextUtils.isEmpty(themeTitle)
-                            ? getString(R.string.theme_title)
-                            : themeTitle,
-                    bundle));
         }
     }
 
diff --git a/src/com/android/customization/picker/ClockFacePickerActivity.java b/src/com/android/customization/picker/clock/ClockFacePickerActivity.java
similarity index 96%
rename from src/com/android/customization/picker/ClockFacePickerActivity.java
rename to src/com/android/customization/picker/clock/ClockFacePickerActivity.java
index 5065aef..5e51234 100644
--- a/src/com/android/customization/picker/ClockFacePickerActivity.java
+++ b/src/com/android/customization/picker/clock/ClockFacePickerActivity.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.customization.picker;
+package com.android.customization.picker.clock;
 
 import android.content.Intent;
 import android.os.Bundle;
@@ -23,7 +23,6 @@
 import com.android.customization.model.clock.BaseClockManager;
 import com.android.customization.model.clock.Clockface;
 import com.android.customization.model.clock.ContentProviderClockProvider;
-import com.android.customization.picker.clock.ClockFragment;
 import com.android.customization.picker.clock.ClockFragment.ClockFragmentHost;
 import com.android.wallpaper.R;
 
diff --git a/src/com/android/customization/picker/theme/ThemeFragment.java b/src/com/android/customization/picker/theme/ThemeFragment.java
index 5ff5ef8..965a2ad 100644
--- a/src/com/android/customization/picker/theme/ThemeFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFragment.java
@@ -51,7 +51,6 @@
 import com.android.customization.picker.ViewOnlyFullPreviewActivity;
 import com.android.customization.picker.WallpaperPreviewer;
 import com.android.customization.widget.OptionSelectorController;
-import com.android.customization.widget.ThemeInfoView;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory;
diff --git a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
index 77325e7..5ea84ce 100644
--- a/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
+++ b/src/com/android/customization/picker/theme/ThemeFullPreviewFragment.java
@@ -37,7 +37,6 @@
 import com.android.customization.model.theme.ThemeBundleProvider;
 import com.android.customization.module.CustomizationInjector;
 import com.android.customization.picker.WallpaperPreviewer;
-import com.android.customization.widget.ThemeInfoView;
 import com.android.wallpaper.R;
 import com.android.wallpaper.model.WallpaperInfo;
 import com.android.wallpaper.module.InjectorProvider;
diff --git a/src/com/android/customization/widget/ThemeInfoView.java b/src/com/android/customization/picker/theme/ThemeInfoView.java
similarity index 98%
rename from src/com/android/customization/widget/ThemeInfoView.java
rename to src/com/android/customization/picker/theme/ThemeInfoView.java
index 9eb0320..e929c4d 100644
--- a/src/com/android/customization/widget/ThemeInfoView.java
+++ b/src/com/android/customization/picker/theme/ThemeInfoView.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.customization.widget;
+package com.android.customization.picker.theme;
 
 import android.content.Context;
 import android.content.res.ColorStateList;