Loading res/values/override.xml +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ --> <resources> <string name="themes_stub_package" translatable="false"/> <string name="clocks_stub_package" translatable="false"/> <!-- Authority of a provider in System UI that will provide preview info for available clockfaces. --> <string name="clocks_provider_authority" translatable="false">com.android.keyguard.clock</string> Loading src/com/android/customization/model/clock/ContentProviderClockProvider.java +18 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,9 @@ package com.android.customization.model.clock; import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ProviderInfo; import android.database.Cursor; import android.net.Uri; Loading @@ -25,6 +27,7 @@ public class ContentProviderClockProvider implements ClockProvider { private final Context mContext; private final ProviderInfo mProviderInfo; private List<Clockface> mClocks; private boolean mClockContentAvailable; public ContentProviderClockProvider(Context context) { mContext = context; Loading @@ -33,11 +36,25 @@ public class ContentProviderClockProvider implements ClockProvider { mProviderInfo = TextUtils.isEmpty(providerAuthority) ? null : mContext.getPackageManager().resolveContentProvider(providerAuthority, PackageManager.MATCH_SYSTEM_ONLY); if (TextUtils.isEmpty(mContext.getString(R.string.clocks_stub_package))) { mClockContentAvailable = false; } else { try { ApplicationInfo applicationInfo = mContext.getPackageManager().getApplicationInfo( mContext.getString(R.string.clocks_stub_package), PackageManager.MATCH_SYSTEM_ONLY); mClockContentAvailable = applicationInfo != null; } catch (NameNotFoundException e) { mClockContentAvailable = false; } } } @Override public boolean isAvailable() { return mProviderInfo != null && (mClocks == null || !mClocks.isEmpty()); return mProviderInfo != null && mClockContentAvailable && (mClocks == null || !mClocks.isEmpty()); } @Override Loading src/com/android/customization/picker/CustomizationPickerActivity.java +3 −8 Original line number Diff line number Diff line Loading @@ -293,6 +293,9 @@ public class CustomizationPickerActivity extends FragmentActivity implements Wal @Override public void onBackPressed() { if (mWallpaperCategoryFragment != null && mWallpaperCategoryFragment.popChildFragment()) { return; } if (getSupportFragmentManager().popBackStackImmediate()) { return; } Loading Loading @@ -332,14 +335,6 @@ public class CustomizationPickerActivity extends FragmentActivity implements Wal mDelegate.showViewOnlyPreview(wallpaperInfo); } /** * Shows the picker activity for the given category. */ @Override public void show(String collectionId) { mDelegate.show(collectionId); } @Override public void onWallpapersReady() { Loading Loading
res/values/override.xml +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ --> <resources> <string name="themes_stub_package" translatable="false"/> <string name="clocks_stub_package" translatable="false"/> <!-- Authority of a provider in System UI that will provide preview info for available clockfaces. --> <string name="clocks_provider_authority" translatable="false">com.android.keyguard.clock</string> Loading
src/com/android/customization/model/clock/ContentProviderClockProvider.java +18 −1 Original line number Diff line number Diff line Loading @@ -2,7 +2,9 @@ package com.android.customization.model.clock; import android.content.ContentResolver; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ProviderInfo; import android.database.Cursor; import android.net.Uri; Loading @@ -25,6 +27,7 @@ public class ContentProviderClockProvider implements ClockProvider { private final Context mContext; private final ProviderInfo mProviderInfo; private List<Clockface> mClocks; private boolean mClockContentAvailable; public ContentProviderClockProvider(Context context) { mContext = context; Loading @@ -33,11 +36,25 @@ public class ContentProviderClockProvider implements ClockProvider { mProviderInfo = TextUtils.isEmpty(providerAuthority) ? null : mContext.getPackageManager().resolveContentProvider(providerAuthority, PackageManager.MATCH_SYSTEM_ONLY); if (TextUtils.isEmpty(mContext.getString(R.string.clocks_stub_package))) { mClockContentAvailable = false; } else { try { ApplicationInfo applicationInfo = mContext.getPackageManager().getApplicationInfo( mContext.getString(R.string.clocks_stub_package), PackageManager.MATCH_SYSTEM_ONLY); mClockContentAvailable = applicationInfo != null; } catch (NameNotFoundException e) { mClockContentAvailable = false; } } } @Override public boolean isAvailable() { return mProviderInfo != null && (mClocks == null || !mClocks.isEmpty()); return mProviderInfo != null && mClockContentAvailable && (mClocks == null || !mClocks.isEmpty()); } @Override Loading
src/com/android/customization/picker/CustomizationPickerActivity.java +3 −8 Original line number Diff line number Diff line Loading @@ -293,6 +293,9 @@ public class CustomizationPickerActivity extends FragmentActivity implements Wal @Override public void onBackPressed() { if (mWallpaperCategoryFragment != null && mWallpaperCategoryFragment.popChildFragment()) { return; } if (getSupportFragmentManager().popBackStackImmediate()) { return; } Loading Loading @@ -332,14 +335,6 @@ public class CustomizationPickerActivity extends FragmentActivity implements Wal mDelegate.showViewOnlyPreview(wallpaperInfo); } /** * Shows the picker activity for the given category. */ @Override public void show(String collectionId) { mDelegate.show(collectionId); } @Override public void onWallpapersReady() { Loading