Merge "Fix repeating apps on pause/resume" into jb-mr2-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2774bc4413
86
res/layout/user_info_header.xml
Normal file
86
res/layout/user_info_header.xml
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:focusable="true"
|
||||||
|
android:clickable="true"
|
||||||
|
android:paddingStart="@*android:dimen/preference_fragment_padding_side"
|
||||||
|
android:paddingEnd="@*android:dimen/preference_fragment_padding_side" >
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:id="@+id/app_restrictions_pref"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:paddingStart="@*android:dimen/preference_item_padding_side"
|
||||||
|
android:paddingEnd="?android:attr/scrollbarSize"
|
||||||
|
android:background="?android:attr/selectableItemBackground" >
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:gravity="center"
|
||||||
|
android:minWidth="@*android:dimen/preference_icon_minWidth"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
<ImageView
|
||||||
|
android:id="@+android:id/icon"
|
||||||
|
android:layout_width="48dp"
|
||||||
|
android:layout_height="48dp"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:minWidth="48dp"
|
||||||
|
android:scaleType="centerInside"
|
||||||
|
android:layout_marginEnd="@*android:dimen/preference_item_padding_inner"
|
||||||
|
/>
|
||||||
|
</LinearLayout>
|
||||||
|
<RelativeLayout
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="6dip"
|
||||||
|
android:layout_marginTop="6dip"
|
||||||
|
android:layout_marginBottom="6dip"
|
||||||
|
android:layout_weight="1">
|
||||||
|
<TextView
|
||||||
|
android:id="@+android:id/title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||||
|
android:ellipsize="marquee"
|
||||||
|
android:fadingEdge="horizontal"/>
|
||||||
|
<TextView
|
||||||
|
android:id="@android:id/summary"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@android:id/title"
|
||||||
|
android:layout_alignStart="@android:id/title"
|
||||||
|
android:paddingBottom="3dip"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||||
|
android:textSize="13sp"
|
||||||
|
android:textColor="?android:attr/textColorSecondary"
|
||||||
|
android:focusable="false"
|
||||||
|
android:maxLines="4" />
|
||||||
|
</RelativeLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
<View android:layout_width="match_parent"
|
||||||
|
android:layout_height="2dp"
|
||||||
|
android:background="@color/divider_color" />
|
||||||
|
</LinearLayout>
|
@@ -257,10 +257,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
KEY_TOGGLE_INSTALL_APPLICATIONS);
|
KEY_TOGGLE_INSTALL_APPLICATIONS);
|
||||||
mToggleAppInstallation.setChecked(isNonMarketAppsAllowed());
|
mToggleAppInstallation.setChecked(isNonMarketAppsAllowed());
|
||||||
|
|
||||||
boolean isSideloadingAllowed =
|
|
||||||
!um.hasUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES);
|
|
||||||
// Side loading of apps.
|
// Side loading of apps.
|
||||||
mToggleAppInstallation.setEnabled(isSideloadingAllowed);
|
mToggleAppInstallation.setEnabled(mIsPrimary);
|
||||||
|
|
||||||
// Package verification, only visible to primary user and if enabled
|
// Package verification, only visible to primary user and if enabled
|
||||||
mToggleVerifyApps = (CheckBoxPreference) findPreference(KEY_TOGGLE_VERIFY_APPLICATIONS);
|
mToggleVerifyApps = (CheckBoxPreference) findPreference(KEY_TOGGLE_VERIFY_APPLICATIONS);
|
||||||
|
@@ -74,6 +74,7 @@ import android.widget.ImageView;
|
|||||||
import android.widget.ListAdapter;
|
import android.widget.ListAdapter;
|
||||||
import android.widget.ListPopupWindow;
|
import android.widget.ListPopupWindow;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
@@ -104,7 +105,6 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
private UserManager mUserManager;
|
private UserManager mUserManager;
|
||||||
private UserHandle mUser;
|
private UserHandle mUser;
|
||||||
|
|
||||||
private Preference mUserPreference;
|
|
||||||
private PreferenceGroup mAppList;
|
private PreferenceGroup mAppList;
|
||||||
|
|
||||||
private static final int MAX_APP_RESTRICTIONS = 100;
|
private static final int MAX_APP_RESTRICTIONS = 100;
|
||||||
@@ -125,6 +125,9 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
private int mCustomRequestCode;
|
private int mCustomRequestCode;
|
||||||
private HashMap<Integer, AppRestrictionsPreference> mCustomRequestMap =
|
private HashMap<Integer, AppRestrictionsPreference> mCustomRequestMap =
|
||||||
new HashMap<Integer,AppRestrictionsPreference>();
|
new HashMap<Integer,AppRestrictionsPreference>();
|
||||||
|
private View mHeaderView;
|
||||||
|
private ImageView mUserIconView;
|
||||||
|
private TextView mUserNameView;
|
||||||
|
|
||||||
private List<SelectableAppInfo> mVisibleApps;
|
private List<SelectableAppInfo> mVisibleApps;
|
||||||
private List<ApplicationInfo> mUserApps;
|
private List<ApplicationInfo> mUserApps;
|
||||||
@@ -262,13 +265,24 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
mUserManager = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
|
mUserManager = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
|
||||||
addPreferencesFromResource(R.xml.app_restrictions);
|
addPreferencesFromResource(R.xml.app_restrictions);
|
||||||
mAppList = getPreferenceScreen();
|
mAppList = getPreferenceScreen();
|
||||||
mUserPreference = findPreference(KEY_USER_INFO);
|
|
||||||
|
|
||||||
mUserPreference.setOnPreferenceClickListener(this);
|
|
||||||
|
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
|
if (mHeaderView == null) {
|
||||||
|
mHeaderView = LayoutInflater.from(getActivity()).inflate(
|
||||||
|
R.layout.user_info_header, null);
|
||||||
|
((ViewGroup) getListView().getParent()).addView(mHeaderView, 0);
|
||||||
|
mHeaderView.setOnClickListener(this);
|
||||||
|
mUserIconView = (ImageView) mHeaderView.findViewById(android.R.id.icon);
|
||||||
|
mUserNameView = (TextView) mHeaderView.findViewById(android.R.id.title);
|
||||||
|
getListView().setFastScrollEnabled(true);
|
||||||
|
}
|
||||||
|
// This is going to bind the preferences.
|
||||||
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSaveInstanceState(Bundle outState) {
|
public void onSaveInstanceState(Bundle outState) {
|
||||||
super.onSaveInstanceState(outState);
|
super.onSaveInstanceState(outState);
|
||||||
@@ -282,12 +296,11 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
new AppLoadingTask().execute((Void[]) null);
|
new AppLoadingTask().execute((Void[]) null);
|
||||||
|
|
||||||
UserInfo info = mUserManager.getUserInfo(mUser.getIdentifier());
|
UserInfo info = mUserManager.getUserInfo(mUser.getIdentifier());
|
||||||
mUserPreference.setTitle(info.name);
|
|
||||||
Bitmap userIcon = mUserManager.getUserIcon(mUser.getIdentifier());
|
Bitmap userIcon = mUserManager.getUserIcon(mUser.getIdentifier());
|
||||||
CircleFramedDrawable circularIcon =
|
CircleFramedDrawable circularIcon =
|
||||||
CircleFramedDrawable.getInstance(this.getActivity(), userIcon);
|
CircleFramedDrawable.getInstance(this.getActivity(), userIcon);
|
||||||
mUserPreference.setIcon(circularIcon);
|
((TextView) mHeaderView.findViewById(android.R.id.title)).setText(info.name);
|
||||||
mUserPreference.setTitle(info.name);
|
((ImageView) mHeaderView.findViewById(android.R.id.icon)).setImageDrawable(circularIcon);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
@@ -335,6 +348,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addSystemApps(List<SelectableAppInfo> visibleApps, Intent intent) {
|
private void addSystemApps(List<SelectableAppInfo> visibleApps, Intent intent) {
|
||||||
|
if (getActivity() == null) return;
|
||||||
final PackageManager pm = getActivity().getPackageManager();
|
final PackageManager pm = getActivity().getPackageManager();
|
||||||
List<ResolveInfo> launchableApps = pm.queryIntentActivities(intent, 0);
|
List<ResolveInfo> launchableApps = pm.queryIntentActivities(intent, 0);
|
||||||
for (ResolveInfo app : launchableApps) {
|
for (ResolveInfo app : launchableApps) {
|
||||||
@@ -377,6 +391,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
mAppList.setOrderingAsAdded(false);
|
mAppList.setOrderingAsAdded(false);
|
||||||
mVisibleApps = new ArrayList<SelectableAppInfo>();
|
mVisibleApps = new ArrayList<SelectableAppInfo>();
|
||||||
final Context context = getActivity();
|
final Context context = getActivity();
|
||||||
|
if (context == null) return;
|
||||||
PackageManager pm = context.getPackageManager();
|
PackageManager pm = context.getPackageManager();
|
||||||
IPackageManager ipm = AppGlobals.getPackageManager();
|
IPackageManager ipm = AppGlobals.getPackageManager();
|
||||||
|
|
||||||
@@ -450,13 +465,14 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
packageMap.put(info.packageName, info);
|
packageMap.put(info.packageName, info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void populateApps() {
|
private void populateApps() {
|
||||||
final Context context = getActivity();
|
final Context context = getActivity();
|
||||||
|
if (context == null) return;
|
||||||
PackageManager pm = context.getPackageManager();
|
PackageManager pm = context.getPackageManager();
|
||||||
IPackageManager ipm = AppGlobals.getPackageManager();
|
IPackageManager ipm = AppGlobals.getPackageManager();
|
||||||
|
mAppList.removeAll();
|
||||||
Intent restrictionsIntent = new Intent(Intent.ACTION_GET_RESTRICTION_ENTRIES);
|
Intent restrictionsIntent = new Intent(Intent.ACTION_GET_RESTRICTION_ENTRIES);
|
||||||
final List<ResolveInfo> receivers = pm.queryBroadcastReceivers(restrictionsIntent, 0);
|
final List<ResolveInfo> receivers = pm.queryBroadcastReceivers(restrictionsIntent, 0);
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@@ -464,14 +480,14 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
for (SelectableAppInfo app : mVisibleApps) {
|
for (SelectableAppInfo app : mVisibleApps) {
|
||||||
String packageName = app.packageName;
|
String packageName = app.packageName;
|
||||||
if (packageName == null) continue;
|
if (packageName == null) continue;
|
||||||
final boolean isSettingsApp = packageName.equals(getActivity().getPackageName());
|
final boolean isSettingsApp = packageName.equals(context.getPackageName());
|
||||||
AppRestrictionsPreference p = new AppRestrictionsPreference(context, this);
|
AppRestrictionsPreference p = new AppRestrictionsPreference(context, this);
|
||||||
final boolean hasSettings = resolveInfoListHasPackage(receivers, packageName);
|
final boolean hasSettings = resolveInfoListHasPackage(receivers, packageName);
|
||||||
p.setIcon(app.icon);
|
p.setIcon(app.icon);
|
||||||
p.setChecked(false);
|
p.setChecked(false);
|
||||||
p.setTitle(app.activityName);
|
p.setTitle(app.activityName);
|
||||||
if (app.masterEntry != null) {
|
if (app.masterEntry != null) {
|
||||||
p.setSummary(getActivity().getString(R.string.user_restrictions_controlled_by,
|
p.setSummary(context.getString(R.string.user_restrictions_controlled_by,
|
||||||
app.masterEntry.activityName));
|
app.masterEntry.activityName));
|
||||||
}
|
}
|
||||||
p.setKey(PKG_PREFIX + packageName);
|
p.setKey(PKG_PREFIX + packageName);
|
||||||
@@ -563,7 +579,9 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (v.getTag() instanceof AppRestrictionsPreference) {
|
if (v == mHeaderView) {
|
||||||
|
showDialog(DIALOG_ID_EDIT_USER_INFO);
|
||||||
|
} else if (v.getTag() instanceof AppRestrictionsPreference) {
|
||||||
AppRestrictionsPreference pref = (AppRestrictionsPreference) v.getTag();
|
AppRestrictionsPreference pref = (AppRestrictionsPreference) v.getTag();
|
||||||
if (v.getId() == R.id.app_restrictions_settings) {
|
if (v.getId() == R.id.app_restrictions_settings) {
|
||||||
toggleAppPanel(pref);
|
toggleAppPanel(pref);
|
||||||
@@ -624,12 +642,6 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (preference == mUserPreference) {
|
|
||||||
String userName = ((CharSequence) newValue).toString();
|
|
||||||
if (!TextUtils.isEmpty(userName)) {
|
|
||||||
mUserManager.setUserName(mUser.getIdentifier(), userName);
|
|
||||||
mUserPreference.setTitle(userName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -840,8 +852,6 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
mAppListChanged = true;
|
mAppListChanged = true;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
} else if (preference == mUserPreference) {
|
|
||||||
showDialog(DIALOG_ID_EDIT_USER_INFO);
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -862,7 +872,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
userNameView.setText(info.name);
|
userNameView.setText(info.name);
|
||||||
|
|
||||||
final ImageView userPhotoView = (ImageView) content.findViewById(R.id.user_photo);
|
final ImageView userPhotoView = (ImageView) content.findViewById(R.id.user_photo);
|
||||||
userPhotoView.setImageDrawable(mUserPreference.getIcon());
|
userPhotoView.setImageDrawable(mUserIconView.getDrawable());
|
||||||
|
|
||||||
mEditUserPhotoController = new EditUserPhotoController(this, userPhotoView);
|
mEditUserPhotoController = new EditUserPhotoController(this, userPhotoView);
|
||||||
|
|
||||||
@@ -878,10 +888,11 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
// Update the name if changed.
|
// Update the name if changed.
|
||||||
CharSequence userName = userNameView.getText();
|
CharSequence userName = userNameView.getText();
|
||||||
if (!TextUtils.isEmpty(userName)) {
|
if (!TextUtils.isEmpty(userName)) {
|
||||||
CharSequence oldUserName = mUserPreference.getTitle();
|
CharSequence oldUserName = mUserNameView.getText();
|
||||||
if (oldUserName == null
|
if (oldUserName == null
|
||||||
|| !userName.toString().equals(oldUserName.toString())) {
|
|| !userName.toString().equals(oldUserName.toString())) {
|
||||||
mUserPreference.setTitle(userName);
|
((TextView) mHeaderView.findViewById(android.R.id.title))
|
||||||
|
.setText(userName.toString());
|
||||||
mUserManager.setUserName(mUser.getIdentifier(),
|
mUserManager.setUserName(mUser.getIdentifier(),
|
||||||
userName.toString());
|
userName.toString());
|
||||||
}
|
}
|
||||||
@@ -889,8 +900,8 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
|
|||||||
// Update the photo if changed.
|
// Update the photo if changed.
|
||||||
Drawable userPhoto = mEditUserPhotoController.getNewUserPhotoDrawable();
|
Drawable userPhoto = mEditUserPhotoController.getNewUserPhotoDrawable();
|
||||||
if (userPhoto != null
|
if (userPhoto != null
|
||||||
&& !userPhoto.equals(mUserPreference.getIcon())) {
|
&& !userPhoto.equals(mUserIconView.getDrawable())) {
|
||||||
mUserPreference.setIcon(userPhoto);
|
mUserIconView.setImageDrawable(userPhoto);
|
||||||
new AsyncTask<Void, Void, Void>() {
|
new AsyncTask<Void, Void, Void>() {
|
||||||
@Override
|
@Override
|
||||||
protected Void doInBackground(Void... params) {
|
protected Void doInBackground(Void... params) {
|
||||||
|
@@ -34,21 +34,21 @@ public class RestrictionUtils {
|
|||||||
// UserManager.DISALLOW_CONFIG_WIFI,
|
// UserManager.DISALLOW_CONFIG_WIFI,
|
||||||
// UserManager.DISALLOW_CONFIG_BLUETOOTH,
|
// UserManager.DISALLOW_CONFIG_BLUETOOTH,
|
||||||
UserManager.DISALLOW_SHARE_LOCATION,
|
UserManager.DISALLOW_SHARE_LOCATION,
|
||||||
UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES
|
// UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final int [] sRestrictionTitles = {
|
public static final int [] sRestrictionTitles = {
|
||||||
// R.string.restriction_wifi_config_title,
|
// R.string.restriction_wifi_config_title,
|
||||||
// R.string.restriction_bluetooth_config_title,
|
// R.string.restriction_bluetooth_config_title,
|
||||||
R.string.restriction_location_enable_title,
|
R.string.restriction_location_enable_title,
|
||||||
R.string.install_applications
|
// R.string.install_applications
|
||||||
};
|
};
|
||||||
|
|
||||||
public static final int [] sRestrictionDescriptions = {
|
public static final int [] sRestrictionDescriptions = {
|
||||||
// R.string.restriction_wifi_config_summary,
|
// R.string.restriction_wifi_config_summary,
|
||||||
// R.string.restriction_bluetooth_config_summary,
|
// R.string.restriction_bluetooth_config_summary,
|
||||||
R.string.restriction_location_enable_summary,
|
R.string.restriction_location_enable_summary,
|
||||||
R.string.install_unknown_applications
|
// R.string.install_unknown_applications
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -45,6 +45,7 @@ import android.preference.Preference.OnPreferenceClickListener;
|
|||||||
import android.preference.PreferenceGroup;
|
import android.preference.PreferenceGroup;
|
||||||
import android.provider.ContactsContract;
|
import android.provider.ContactsContract;
|
||||||
import android.provider.ContactsContract.Contacts;
|
import android.provider.ContactsContract.Contacts;
|
||||||
|
import android.provider.Settings.Secure;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
@@ -305,7 +306,9 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
int userId = newUserInfo.id;
|
int userId = newUserInfo.id;
|
||||||
UserHandle user = new UserHandle(userId);
|
UserHandle user = new UserHandle(userId);
|
||||||
mUserManager.setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user);
|
mUserManager.setUserRestriction(UserManager.DISALLOW_MODIFY_ACCOUNTS, true, user);
|
||||||
|
mUserManager.setUserRestriction(UserManager.DISALLOW_SHARE_LOCATION, true, user);
|
||||||
|
Secure.putStringForUser(getContentResolver(),
|
||||||
|
Secure.LOCATION_PROVIDERS_ALLOWED, "", userId);
|
||||||
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
|
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
|
||||||
UserSettings.USER_DRAWABLES[
|
UserSettings.USER_DRAWABLES[
|
||||||
userId % UserSettings.USER_DRAWABLES.length]);
|
userId % UserSettings.USER_DRAWABLES.length]);
|
||||||
|
Reference in New Issue
Block a user