Skip to content
Snippets Groups Projects
Commit cb27c4fe authored by Jatin Matani's avatar Jatin Matani
Browse files

Move ManagedProfileUtils to overridable

Bug:19532354
Change-Id: I50b3ae11b6e58f07b482353b624b1a7a73eadc99
parent 13271bfd
No related branches found
No related tags found
No related merge requests found
...@@ -16,24 +16,11 @@ ...@@ -16,24 +16,11 @@
package com.android.inputmethod.latin.utils; package com.android.inputmethod.latin.utils;
import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;
import android.os.Build;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;
import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.annotations.UsedForTesting;
import java.util.List;
/**
* Utility for determining if the device has managed profiles.
*/
public class ManagedProfileUtils { public class ManagedProfileUtils {
private static final boolean DEBUG = false;
private static final String TAG = ManagedProfileUtils.class.getSimpleName();
private static ManagedProfileUtils INSTANCE = new ManagedProfileUtils(); private static ManagedProfileUtils INSTANCE = new ManagedProfileUtils();
private static ManagedProfileUtils sTestInstance; private static ManagedProfileUtils sTestInstance;
...@@ -50,33 +37,7 @@ public class ManagedProfileUtils { ...@@ -50,33 +37,7 @@ public class ManagedProfileUtils {
return sTestInstance == null ? INSTANCE : sTestInstance; return sTestInstance == null ? INSTANCE : sTestInstance;
} }
/** public boolean hasWorkProfile(final Context context) {
* Note that {@link UserManager#getUserProfiles} has been introduced
* in API level 21 (Build.VERSION_CODES.LOLLIPOP).
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public boolean hasManagedWorkProfile(final Context context) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
return false;
}
final UserManager userManagerService =
(UserManager) context.getSystemService(Context.USER_SERVICE);
if (userManagerService != null) {
if (DEBUG) {
Log.d(TAG, "Detecting managed profile...");
}
final List<UserHandle> userProfiles = userManagerService.getUserProfiles();
if (userProfiles.size() > 1) {
if (DEBUG) {
Log.d(TAG, "More than one user profile => Managed profile exists.");
}
return true;
}
}
if (DEBUG) {
Log.d(TAG, "Managed profile not detected.");
}
return false; return false;
} }
} }
\ No newline at end of file
...@@ -132,7 +132,7 @@ public final class AccountsSettingsFragment extends SubScreenFragment { ...@@ -132,7 +132,7 @@ public final class AccountsSettingsFragment extends SubScreenFragment {
@Override @Override
protected Void doInBackground(Void... params) { protected Void doInBackground(Void... params) {
if (ManagedProfileUtils.getInstance().hasManagedWorkProfile(mFragment.getActivity())) { if (ManagedProfileUtils.getInstance().hasWorkProfile(mFragment.getActivity())) {
mFragment.removeSyncPreferences(); mFragment.removeSyncPreferences();
} else { } else {
mFragment.enableSyncPreferences(); mFragment.enableSyncPreferences();
......
...@@ -85,7 +85,7 @@ public class AccountsSettingsFragmentTests ...@@ -85,7 +85,7 @@ public class AccountsSettingsFragmentTests
} }
public void testMultipleAccounts_noSettingsForManagedProfile() { public void testMultipleAccounts_noSettingsForManagedProfile() {
when(mManagedProfileUtils.hasManagedWorkProfile(any(Context.class))).thenReturn(true); when(mManagedProfileUtils.hasWorkProfile(any(Context.class))).thenReturn(true);
final AccountsSettingsFragment fragment = final AccountsSettingsFragment fragment =
(AccountsSettingsFragment) getActivity().mFragment; (AccountsSettingsFragment) getActivity().mFragment;
...@@ -97,7 +97,7 @@ public class AccountsSettingsFragmentTests ...@@ -97,7 +97,7 @@ public class AccountsSettingsFragmentTests
} }
public void testMultipleAccounts_noCurrentAccount() { public void testMultipleAccounts_noCurrentAccount() {
when(mManagedProfileUtils.hasManagedWorkProfile(any(Context.class))).thenReturn(false); when(mManagedProfileUtils.hasWorkProfile(any(Context.class))).thenReturn(false);
final AccountsSettingsFragment fragment = final AccountsSettingsFragment fragment =
(AccountsSettingsFragment) getActivity().mFragment; (AccountsSettingsFragment) getActivity().mFragment;
...@@ -118,7 +118,7 @@ public class AccountsSettingsFragmentTests ...@@ -118,7 +118,7 @@ public class AccountsSettingsFragmentTests
} }
public void testMultipleAccounts_currentAccount() { public void testMultipleAccounts_currentAccount() {
when(mManagedProfileUtils.hasManagedWorkProfile(any(Context.class))).thenReturn(false); when(mManagedProfileUtils.hasWorkProfile(any(Context.class))).thenReturn(false);
final AccountsSettingsFragment fragment = final AccountsSettingsFragment fragment =
(AccountsSettingsFragment) getActivity().mFragment; (AccountsSettingsFragment) getActivity().mFragment;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment