Merge changes I4ae01109,Ib45289c3 into oc-dev
* changes:
Remove shadow below app info header.
Fix ANR in installed app details.
diff --git a/res/layout/connection_detail_pref.xml b/res/layout/connection_detail_pref.xml
index 15f1c77..182f2cb 100644
--- a/res/layout/connection_detail_pref.xml
+++ b/res/layout/connection_detail_pref.xml
@@ -43,6 +43,7 @@
android:id="@android:id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:singleLine="false"
android:paddingLeft="20dp"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
android:textColor="@android:color/white"/>
diff --git a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java
index a2e9fe9..2c97e1a 100644
--- a/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/ConfirmDeviceCredentialBaseFragment.java
@@ -68,8 +68,6 @@
PACKAGE + ".ConfirmCredentials.showWhenLocked";
private FingerprintUiHelper mFingerprintHelper;
- protected boolean mIsStrongAuthRequired;
- private boolean mAllowFpAuthentication;
protected boolean mReturnCredentials = false;
protected Button mCancelButton;
protected ImageView mFingerprintIcon;
@@ -83,8 +81,6 @@
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- mAllowFpAuthentication = getActivity().getIntent().getBooleanExtra(
- ALLOW_FP_AUTHENTICATION, false);
mReturnCredentials = getActivity().getIntent().getBooleanExtra(
ChooseLockSettingsHelper.EXTRA_KEY_RETURN_CREDENTIALS, false);
// Only take this argument into account if it belongs to the current profile.
@@ -133,23 +129,26 @@
// credential. Otherwise, fingerprint can't unlock fbe/keystore through
// verifyTiedProfileChallenge. In such case, we also wanna show the user message that
// fingerprint is disabled due to device restart.
- private boolean isFingerprintDisallowedByStrongAuth() {
+ protected boolean isFingerprintDisallowedByStrongAuth() {
return !(mLockPatternUtils.isFingerprintAllowedForUser(mEffectiveUserId)
&& mUserManager.isUserUnlocked(mUserId));
}
+ private boolean isFingerprintAllowed() {
+ return !mReturnCredentials
+ && getActivity().getIntent().getBooleanExtra(ALLOW_FP_AUTHENTICATION, false)
+ && !isFingerprintDisallowedByStrongAuth()
+ && !isFingerprintDisabledByAdmin();
+ }
+
@Override
public void onResume() {
super.onResume();
- mIsStrongAuthRequired = isFingerprintDisallowedByStrongAuth();
- mAllowFpAuthentication = getActivity().getIntent().getBooleanExtra(
- ALLOW_FP_AUTHENTICATION, false)
- && !isFingerprintDisabledByAdmin() && !mReturnCredentials && !mIsStrongAuthRequired;
refreshLockScreen();
}
protected void refreshLockScreen() {
- if (mAllowFpAuthentication) {
+ if (isFingerprintAllowed()) {
mFingerprintHelper.startListening();
} else {
if (mFingerprintHelper.isListening()) {
diff --git a/src/com/android/settings/ConfirmLockPassword.java b/src/com/android/settings/ConfirmLockPassword.java
index 5c86dcd..9a285f2 100644
--- a/src/com/android/settings/ConfirmLockPassword.java
+++ b/src/com/android/settings/ConfirmLockPassword.java
@@ -191,9 +191,10 @@
}
private int getDefaultDetails() {
+ boolean isStrongAuthRequired = isFingerprintDisallowedByStrongAuth();
boolean isProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
// Map boolean flags to an index by isStrongAuth << 2 + isProfile << 1 + isAlpha.
- int index = ((mIsStrongAuthRequired ? 1 : 0) << 2) + ((isProfile ? 1 : 0) << 1)
+ int index = ((isStrongAuthRequired ? 1 : 0) << 2) + ((isProfile ? 1 : 0) << 1)
+ (mIsAlpha ? 1 : 0);
return DETAIL_TEXTS[index];
}
@@ -443,6 +444,7 @@
checkForPendingIntent();
} else {
if (timeoutMs > 0) {
+ refreshLockScreen();
long deadline = mLockPatternUtils.setLockoutAttemptDeadline(
effectiveUserId, timeoutMs);
handleAttemptLockout(deadline);
diff --git a/src/com/android/settings/ConfirmLockPattern.java b/src/com/android/settings/ConfirmLockPattern.java
index 4b65163..56d92f1 100644
--- a/src/com/android/settings/ConfirmLockPattern.java
+++ b/src/com/android/settings/ConfirmLockPattern.java
@@ -236,12 +236,13 @@
}
private int getDefaultDetails() {
+ boolean isStrongAuthRequired = isFingerprintDisallowedByStrongAuth();
if (UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId)) {
- return mIsStrongAuthRequired
+ return isStrongAuthRequired
? R.string.lockpassword_strong_auth_required_reason_restart_work_pattern
: R.string.lockpassword_confirm_your_pattern_generic_profile;
} else {
- return mIsStrongAuthRequired
+ return isStrongAuthRequired
? R.string.lockpassword_strong_auth_required_reason_restart_device_pattern
: R.string.lockpassword_confirm_your_pattern_generic;
}
diff --git a/src/com/android/settings/accounts/AccountPreferenceBase.java b/src/com/android/settings/accounts/AccountPreferenceBase.java
index 2ad21d9..7c3b54c 100644
--- a/src/com/android/settings/accounts/AccountPreferenceBase.java
+++ b/src/com/android/settings/accounts/AccountPreferenceBase.java
@@ -17,14 +17,10 @@
package com.android.settings.accounts;
-import android.accounts.AuthenticatorDescription;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.SyncStatusObserver;
-import android.content.pm.PackageManager;
-import android.content.res.Resources;
-import android.content.res.Resources.Theme;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
@@ -32,12 +28,10 @@
import android.os.UserManager;
import android.support.v7.preference.PreferenceScreen;
import android.text.format.DateFormat;
-import android.text.format.DateUtils;
import android.util.Log;
import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
-import com.android.settings.utils.LocalClassLoaderContextThemeWrapper;
import com.android.settingslib.accounts.AuthenticatorHelper;
import java.util.ArrayList;
diff --git a/src/com/android/settings/accounts/AccountSyncPreferenceController.java b/src/com/android/settings/accounts/AccountSyncPreferenceController.java
index 57d317b..0b095f7 100644
--- a/src/com/android/settings/accounts/AccountSyncPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountSyncPreferenceController.java
@@ -25,6 +25,7 @@
import android.support.v7.preference.Preference;
import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.PreferenceController;
@@ -53,8 +54,9 @@
final Bundle args = new Bundle();
args.putParcelable(AccountSyncSettings.ACCOUNT_KEY, mAccount);
args.putParcelable(EXTRA_USER, mUserHandle);
- Utils.startWithFragment(mContext, AccountSyncSettings.class.getName(), args, null, 0, -1,
- mAccount.name, MetricsProto.MetricsEvent.ACCOUNT);
+ Utils.startWithFragment(mContext, AccountSyncSettings.class.getName(), args, null, 0,
+ R.string.account_sync_title, null, MetricsProto.MetricsEvent.ACCOUNT);
+
return true;
}
diff --git a/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java
index c071570..508d6c9 100644
--- a/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothMasterSwitchPreferenceController.java
@@ -36,7 +36,7 @@
implements OnSummaryChangeListener,
LifecycleObserver, OnResume, OnPause, OnStart, OnStop {
- private static final String KEY_TOGGLE_BLUETOOTH = "toggle_bluetooth";
+ public static final String KEY_TOGGLE_BLUETOOTH = "toggle_bluetooth";
private LocalBluetoothManager mBluetoothManager;
private MasterSwitchPreference mBtPreference;
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index b12e849..aeb7efb 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -16,6 +16,7 @@
package com.android.settings.connecteddevice;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto;
@@ -85,5 +86,20 @@
sir.xmlResId = R.xml.connected_devices;
return Arrays.asList(sir);
}
+
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ PackageManager pm = context.getPackageManager();
+ final List<String> keys = new ArrayList<String>();
+
+ if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC)) {
+ keys.add(NfcPreferenceController.KEY_TOGGLE_NFC);
+ keys.add(NfcPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
+ }
+ if (!pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) {
+ keys.add(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH);
+ }
+ return keys;
+ }
};
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java b/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java
index 1be2c68..bdd5c60 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java
@@ -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;
@@ -49,10 +43,14 @@
*/
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) {
@@ -76,7 +74,7 @@
}
SuggestionFeatureProvider provider =
- FeatureFactory.getFactory(mContext).getSuggestionFeatureProvider(mContext);
+ FeatureFactory.getFactory(mContext).getSuggestionFeatureProvider(mContext);
if (provider != null && provider.isPresent(className)) {
return provider.isSuggestionCompleted(mContext);
}
@@ -114,16 +112,9 @@
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() {
@@ -133,11 +124,4 @@
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.
- }
- };
}
diff --git a/src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java b/src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java
new file mode 100644
index 0000000..9efe4fe
--- /dev/null
+++ b/src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java
@@ -0,0 +1,33 @@
+/*
+ * 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);
+ }
+}
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index c8af4a0..e126099 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -102,7 +102,6 @@
final long rawRealTimeUs = convertMsToUs(SystemClock.elapsedRealtime());
final int foregroundTypes[] = {BatteryStats.Uid.PROCESS_STATE_TOP,
BatteryStats.Uid.PROCESS_STATE_FOREGROUND_SERVICE,
- BatteryStats.Uid.PROCESS_STATE_TOP_SLEEPING,
BatteryStats.Uid.PROCESS_STATE_FOREGROUND};
Log.v(TAG, "package: " + mPackageManager.getNameForUid(uid.getUid()));
diff --git a/src/com/android/settings/nfc/NfcPreferenceController.java b/src/com/android/settings/nfc/NfcPreferenceController.java
index 11e3e09..7164b5b 100644
--- a/src/com/android/settings/nfc/NfcPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcPreferenceController.java
@@ -39,8 +39,8 @@
public class NfcPreferenceController extends PreferenceController
implements LifecycleObserver, OnResume, OnPause {
- private static final String KEY_TOGGLE_NFC = "toggle_nfc";
- private static final String KEY_ANDROID_BEAM_SETTINGS = "android_beam_settings";
+ public static final String KEY_TOGGLE_NFC = "toggle_nfc";
+ public static final String KEY_ANDROID_BEAM_SETTINGS = "android_beam_settings";
private NfcEnabler mNfcEnabler;
private NfcAdapter mNfcAdapter;
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java
index 26c640d..c159a24 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java
@@ -15,11 +15,16 @@
*/
package com.android.settings.accounts;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+
import android.accounts.Account;
import android.content.Context;
+import android.content.Intent;
import android.os.UserHandle;
import android.support.v7.preference.Preference;
+import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
@@ -29,9 +34,6 @@
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
-import static org.mockito.Mockito.mock;
-import static com.google.common.truth.Truth.assertThat;
-
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class AccountSyncPreferenceControllerTest {
@@ -42,13 +44,18 @@
final Context context = application.getApplicationContext();
final Preference preference = new Preference(context);
preference.setKey("account_sync");
- AccountSyncPreferenceController controller = new AccountSyncPreferenceController(context);
- controller.init(new Account("acct1", "type1"), mock(UserHandle.class));
+ final AccountSyncPreferenceController controller =
+ new AccountSyncPreferenceController(context);
+ controller.init(new Account("acct1", "type1"), mock(UserHandle.class));
controller.handlePreferenceTreeClick(preference);
- assertThat(application.getNextStartedActivity().getStringExtra(
- SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(AccountSyncSettings.class.getName());
+ final Intent nextActivity = application.getNextStartedActivity();
+
+ assertThat(nextActivity.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+ .isEqualTo(AccountSyncSettings.class.getName());
+ assertThat(nextActivity.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
+ .isEqualTo(R.string.account_sync_title);
}
}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
index fc4b75f..a4b5c97 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
@@ -15,8 +15,12 @@
*/
package com.android.settings.connecteddevice;
+import android.content.Context;
+import android.content.pm.PackageManager;
import android.provider.SearchIndexableResource;
+import com.android.settings.bluetooth.BluetoothMasterSwitchPreferenceController;
+import com.android.settings.nfc.NfcPreferenceController;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import com.android.settingslib.drawer.CategoryKey;
@@ -24,22 +28,33 @@
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowApplication;
import java.util.List;
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class ConnectedDeviceDashboardFragmentTest {
+ @Mock
+ Context mContext;
+
+ @Mock
+ private PackageManager mManager;
private ConnectedDeviceDashboardFragment mFragment;
@Before
public void setUp() {
+ MockitoAnnotations.initMocks(this);
mFragment = new ConnectedDeviceDashboardFragment();
+ when(mContext.getPackageManager()).thenReturn(mManager);
}
@Test
@@ -50,11 +65,47 @@
@Test
public void testSearchIndexProvider_shouldIndexResource() {
final List<SearchIndexableResource> indexRes =
- ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
- ShadowApplication.getInstance().getApplicationContext(),
- true /* enabled */);
+ mFragment.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(mContext, true /* enabled */);
assertThat(indexRes).isNotNull();
assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId());
}
+
+ @Test
+ public void testSearchIndexProvider_NoNfc_KeyAdded() {
+ when(mManager.hasSystemFeature(PackageManager.FEATURE_NFC)).thenReturn(false);
+ final List<String> keys = mFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+ assertThat(keys).isNotNull();
+ assertThat(keys).contains(NfcPreferenceController.KEY_TOGGLE_NFC);
+ assertThat(keys).contains(NfcPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
+ }
+
+ @Test
+ public void testSearchIndexProvider_NFC_KeyNotAdded() {
+ when(mManager.hasSystemFeature(PackageManager.FEATURE_NFC)).thenReturn(true);
+ final List<String> keys = mFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+ assertThat(keys).isNotNull();
+ assertThat(keys).doesNotContain(NfcPreferenceController.KEY_TOGGLE_NFC);
+ assertThat(keys).doesNotContain(NfcPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
+ }
+
+ @Test
+ public void testSearchIndexProvider_NoBluetooth_KeyAdded() {
+ when(mManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)).thenReturn(false);
+ final List<String> keys = mFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+ assertThat(keys).isNotNull();
+ assertThat(keys).contains(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH);
+ }
+
+ @Test
+ public void testSearchIndexProvider_Bluetooth_KeyNotAdded() {
+ when(mManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)).thenReturn(true);
+ final List<String> keys = mFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
+
+ assertThat(keys).isNotNull();
+ assertThat(keys).doesNotContain(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH);
+ }
}
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java
index 72231b2..accca2a 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java
@@ -1,5 +1,5 @@
/*
- * 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.
@@ -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;
@@ -41,6 +41,8 @@
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)
@@ -54,7 +56,8 @@
private FingerprintManager mFingerprintManager;
@Mock
private DevicePolicyManager mDevicePolicyManager;
-
+ @Mock
+ private WallpaperManagerWrapper mWallpaperManager;
private SuggestionsChecks mSuggestionsChecks;
@Before
@@ -118,4 +121,24 @@
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();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index 52cfe4c..bfc2861 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -64,9 +64,9 @@
private static final long TIME_STATE_BACKGROUND = 6000 * UNIT;
private static final int UID = 123;
- private static final long TIME_EXPECTED_FOREGROUND = 9000;
+ private static final long TIME_EXPECTED_FOREGROUND = 6500;
private static final long TIME_EXPECTED_BACKGROUND = 6000;
- private static final long TIME_EXPECTED_ALL = 15000;
+ private static final long TIME_EXPECTED_ALL = 12500;
private static final double BATTERY_SCREEN_USAGE = 300;
private static final double BATTERY_SYSTEM_USAGE = 600;
private static final double BATTERY_OVERACCOUNTED_USAGE = 500;