Correct behavior on Google Location History preference click
Fixes: 366060896 Bug: 360240563 Flag: EXEMPT bugfix Test: Manually and RecentLocationAccessPreferenceControllerTest Change-Id: Ibe3c49c3060bcc0967f93a3a88aa45b04ab8a41d
This commit is contained in:
@@ -17,12 +17,15 @@ package com.android.settings.location;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.doNothing;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.location.LocationManager;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -65,7 +68,8 @@ public class RecentLocationAccessPreferenceControllerTest {
|
||||
private DashboardFragment mDashboardFragment;
|
||||
@Mock
|
||||
private RecentAppOpsAccess mRecentLocationApps;
|
||||
|
||||
@Mock
|
||||
private LocationManager mLocationManager;
|
||||
private Context mContext;
|
||||
private RecentLocationAccessPreferenceController mController;
|
||||
private View mAppEntitiesHeaderView;
|
||||
@@ -130,4 +134,23 @@ public class RecentLocationAccessPreferenceControllerTest {
|
||||
mContext.getContentResolver(), Settings.Secure.LOCATION_SHOW_SYSTEM_OPS, 1);
|
||||
verify(mLayoutPreference, Mockito.times(1)).addPreference(Mockito.any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPreferenceClick_onExtraLocationPackage_startsExtraLocationActivity() {
|
||||
String extraLocationPkgName = "extraLocationPkgName";
|
||||
when(mContext.getSystemService(LocationManager.class)).thenReturn(mLocationManager);
|
||||
when(mLocationManager.getExtraLocationControllerPackage()).thenReturn(extraLocationPkgName);
|
||||
RecentLocationAccessPreferenceController.PackageEntryClickedListener listener =
|
||||
new RecentLocationAccessPreferenceController.PackageEntryClickedListener(
|
||||
mContext, extraLocationPkgName, UserHandle.CURRENT);
|
||||
doNothing().when(mContext).startActivityAsUser(Mockito.refEq(new Intent(
|
||||
Settings.ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS)),
|
||||
Mockito.eq(UserHandle.CURRENT));
|
||||
|
||||
listener.onPreferenceClick(mLayoutPreference);
|
||||
|
||||
verify(mContext).startActivityAsUser(Mockito.refEq(new Intent(
|
||||
Settings.ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS)),
|
||||
Mockito.eq(UserHandle.CURRENT));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user