Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4bff19c5 authored by Mehdi Alizadeh's avatar Mehdi Alizadeh Committed by Sunny Goyal
Browse files

Merging from ub-launcher3-master @ build 6248758

Test: manual, presubmit on the source branch
http: //x20/teams/android-launcher/merge/ub-launcher3-master_6248758.html
Change-Id: If110a57a2ae558da52791bad5f8024cb87a82e86
Bug: 150504032
parents e057a36c 6bf1cf40
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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>

+18 −1
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -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
+3 −8
Original line number Diff line number Diff line
@@ -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;
        }
@@ -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() {