Fix issue with app info summary for diasbled app.

- also check the component enable state to determine whether an app is
really enabled or not.

Change-Id: I8075ec9253b9136c58fc206e10b10f77b1efe6c2
Fix: 35673125
Test: make RunSettingsRoboTests
This commit is contained in:
Doris Ling
2017-02-24 10:36:23 -08:00
parent 8c3e46e628
commit b8642c7464
2 changed files with 41 additions and 11 deletions

View File

@@ -16,8 +16,12 @@
package com.android.settings.applications;
import android.app.Activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Looper;
import android.os.UserManager;
import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.Settings;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
@@ -36,6 +40,8 @@ import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers;
import static org.mockito.Matchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
/**
@@ -55,7 +61,6 @@ public class ManageApplicationsTest {
@Mock private ApplicationsState mState;
@Mock private ApplicationsState.Session mSession;
@Mock private UserManager mUserManager;
private Looper mBgLooper;
private ManageApplications mFragment;
@@ -78,4 +83,21 @@ public class ManageApplicationsTest {
SettingsRobolectricTestRunner.startSettingsFragment(
mFragment, Settings.ManageApplicationsActivity.class);
}
@Test
public void updateDisableView_appDisabledUntilUsed_shouldSetDisabled() {
final TextView view = mock(TextView.class);
final ApplicationInfo info = new ApplicationInfo();
info.flags = ApplicationInfo.FLAG_INSTALLED;
info.enabled = true;
info.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED;
ManageApplications fragment = mock(ManageApplications.class);
when(fragment.getActivity()).thenReturn(mock(Activity.class));
final ManageApplications.ApplicationsAdapter adapter =
new ManageApplications.ApplicationsAdapter(mState, fragment, 0);
adapter.updateDisableView(view, info);
verify(view).setText(R.string.disabled);
}
}