Loading src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java +9 −25 Original line number Diff line number Diff line Loading @@ -17,19 +17,13 @@ package com.android.settings.dashboard.suggestions; import android.app.AutomaticZenRule; import android.app.IWallpaperManager; import android.app.IWallpaperManager.Stub; import android.app.IWallpaperManagerCallback; import android.app.KeyguardManager; import android.app.NotificationManager; import android.app.WallpaperManager; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; import android.support.annotation.VisibleForTesting; import com.android.ims.ImsManager; import com.android.settings.Settings.FingerprintEnrollSuggestionActivity; Loading @@ -49,10 +43,14 @@ import java.util.Collection; */ public class SuggestionsChecks { private static final String TAG = "SuggestionsChecks"; private final Context mContext; private final WallpaperManagerWrapper mWallpaperManager; public SuggestionsChecks(Context context) { mContext = context.getApplicationContext(); mWallpaperManager = new WallpaperManagerWrapper(mContext); } public boolean isSuggestionComplete(Tile suggestion) { Loading Loading @@ -114,16 +112,9 @@ public class SuggestionsChecks { return false; } private boolean hasWallpaperSet() { IBinder b = ServiceManager.getService(Context.WALLPAPER_SERVICE); IWallpaperManager service = Stub.asInterface(b); try { return !service.isSetWallpaperAllowed(mContext.getOpPackageName()) || service.getWallpaper(mCallback, WallpaperManager.FLAG_SYSTEM, new Bundle(), mContext.getUserId()) != null; } catch (RemoteException e) { } return false; @VisibleForTesting boolean hasWallpaperSet() { return mWallpaperManager.getWallpaperId(WallpaperManager.FLAG_SYSTEM) > 0; } private boolean isFingerprintEnabled() { Loading @@ -133,11 +124,4 @@ public class SuggestionsChecks { mContext.getUserId()); return (dpmFlags & DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT) == 0; } private final IWallpaperManagerCallback mCallback = new IWallpaperManagerCallback.Stub() { @Override public void onWallpaperChanged() throws RemoteException { // Don't care. } }; } src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 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.settings.dashboard.suggestions; import android.app.WallpaperManager; import android.content.Context; public class WallpaperManagerWrapper { private final WallpaperManager mWallpaperManager; public WallpaperManagerWrapper(Context context) { mWallpaperManager = (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE); } public int getWallpaperId(int which) { return mWallpaperManager.getWallpaperId(which); } } tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java +26 −3 Original line number Diff line number Diff line /* * Copyright (C) 2017 Google Inc. * Copyright (C) 2017 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. Loading @@ -17,12 +17,12 @@ package com.android.settings.dashboard.suggestions; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.when; import android.app.WallpaperManager; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Context; Loading @@ -41,6 +41,8 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) Loading @@ -54,7 +56,8 @@ public class SuggestionsChecksTest { private FingerprintManager mFingerprintManager; @Mock private DevicePolicyManager mDevicePolicyManager; @Mock private WallpaperManagerWrapper mWallpaperManager; private SuggestionsChecks mSuggestionsChecks; @Before Loading Loading @@ -118,4 +121,24 @@ public class SuggestionsChecksTest { Settings.FingerprintEnrollSuggestionActivity.class)); return tile; } @Test public void hasWallpaperSet_no_shouldReturnFalse() { ReflectionHelpers.setField(mSuggestionsChecks, "mWallpaperManager", mWallpaperManager); when(mWallpaperManager.getWallpaperId(WallpaperManager.FLAG_SYSTEM)) .thenReturn(0); assertThat(mSuggestionsChecks.hasWallpaperSet()) .isFalse(); } @Test public void hasWallpaperSet_yes_shouldReturnTrue() { ReflectionHelpers.setField(mSuggestionsChecks, "mWallpaperManager", mWallpaperManager); when(mWallpaperManager.getWallpaperId(WallpaperManager.FLAG_SYSTEM)) .thenReturn(100); assertThat(mSuggestionsChecks.hasWallpaperSet()) .isTrue(); } } Loading
src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java +9 −25 Original line number Diff line number Diff line Loading @@ -17,19 +17,13 @@ package com.android.settings.dashboard.suggestions; import android.app.AutomaticZenRule; import android.app.IWallpaperManager; import android.app.IWallpaperManager.Stub; import android.app.IWallpaperManagerCallback; import android.app.KeyguardManager; import android.app.NotificationManager; import android.app.WallpaperManager; import android.app.admin.DevicePolicyManager; import android.content.Context; import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.os.ServiceManager; import android.support.annotation.VisibleForTesting; import com.android.ims.ImsManager; import com.android.settings.Settings.FingerprintEnrollSuggestionActivity; Loading @@ -49,10 +43,14 @@ import java.util.Collection; */ public class SuggestionsChecks { private static final String TAG = "SuggestionsChecks"; private final Context mContext; private final WallpaperManagerWrapper mWallpaperManager; public SuggestionsChecks(Context context) { mContext = context.getApplicationContext(); mWallpaperManager = new WallpaperManagerWrapper(mContext); } public boolean isSuggestionComplete(Tile suggestion) { Loading Loading @@ -114,16 +112,9 @@ public class SuggestionsChecks { return false; } private boolean hasWallpaperSet() { IBinder b = ServiceManager.getService(Context.WALLPAPER_SERVICE); IWallpaperManager service = Stub.asInterface(b); try { return !service.isSetWallpaperAllowed(mContext.getOpPackageName()) || service.getWallpaper(mCallback, WallpaperManager.FLAG_SYSTEM, new Bundle(), mContext.getUserId()) != null; } catch (RemoteException e) { } return false; @VisibleForTesting boolean hasWallpaperSet() { return mWallpaperManager.getWallpaperId(WallpaperManager.FLAG_SYSTEM) > 0; } private boolean isFingerprintEnabled() { Loading @@ -133,11 +124,4 @@ public class SuggestionsChecks { mContext.getUserId()); return (dpmFlags & DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT) == 0; } private final IWallpaperManagerCallback mCallback = new IWallpaperManagerCallback.Stub() { @Override public void onWallpaperChanged() throws RemoteException { // Don't care. } }; }
src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright (C) 2017 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.settings.dashboard.suggestions; import android.app.WallpaperManager; import android.content.Context; public class WallpaperManagerWrapper { private final WallpaperManager mWallpaperManager; public WallpaperManagerWrapper(Context context) { mWallpaperManager = (WallpaperManager) context.getSystemService(Context.WALLPAPER_SERVICE); } public int getWallpaperId(int which) { return mWallpaperManager.getWallpaperId(which); } }
tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java +26 −3 Original line number Diff line number Diff line /* * Copyright (C) 2017 Google Inc. * Copyright (C) 2017 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. Loading @@ -17,12 +17,12 @@ package com.android.settings.dashboard.suggestions; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.when; import android.app.WallpaperManager; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Context; Loading @@ -41,6 +41,8 @@ import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) Loading @@ -54,7 +56,8 @@ public class SuggestionsChecksTest { private FingerprintManager mFingerprintManager; @Mock private DevicePolicyManager mDevicePolicyManager; @Mock private WallpaperManagerWrapper mWallpaperManager; private SuggestionsChecks mSuggestionsChecks; @Before Loading Loading @@ -118,4 +121,24 @@ public class SuggestionsChecksTest { Settings.FingerprintEnrollSuggestionActivity.class)); return tile; } @Test public void hasWallpaperSet_no_shouldReturnFalse() { ReflectionHelpers.setField(mSuggestionsChecks, "mWallpaperManager", mWallpaperManager); when(mWallpaperManager.getWallpaperId(WallpaperManager.FLAG_SYSTEM)) .thenReturn(0); assertThat(mSuggestionsChecks.hasWallpaperSet()) .isFalse(); } @Test public void hasWallpaperSet_yes_shouldReturnTrue() { ReflectionHelpers.setField(mSuggestionsChecks, "mWallpaperManager", mWallpaperManager); when(mWallpaperManager.getWallpaperId(WallpaperManager.FLAG_SYSTEM)) .thenReturn(100); assertThat(mSuggestionsChecks.hasWallpaperSet()) .isTrue(); } }