Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
halo
packages_apps_Settings
Commits
35f02378
Commit
35f02378
authored
12 years ago
by
Amith Yamasani
Committed by
Android (Google) Code Review
12 years ago
Browse files
Options
Download
Plain Diff
Merge "Embed the app restrictions fragment in the dual-pane settings." into jb-mr2-dev
parents
a2e64ac8
cc395695
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
147 additions
and
199 deletions
+147
-199
AndroidManifest.xml
AndroidManifest.xml
+0
-10
src/com/android/settings/users/AppRestrictionsFragment.java
src/com/android/settings/users/AppRestrictionsFragment.java
+59
-13
src/com/android/settings/users/UserRestrictionsActivity.java
src/com/android/settings/users/UserRestrictionsActivity.java
+0
-141
src/com/android/settings/users/UserSettings.java
src/com/android/settings/users/UserSettings.java
+88
-35
No files found.
AndroidManifest.xml
View file @
35f02378
...
...
@@ -87,16 +87,6 @@
</intent-filter>
</activity>
<!-- User Restrictions activity -->
<activity
android:name=
".users.UserRestrictionsActivity"
android:label=
"@string/user_restrictions_title"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
</intent-filter>
</activity>
<activity
android:name=
".SubSettings"
android:taskAffinity=
"com.android.settings"
android:parentActivityName=
"Settings"
>
...
...
This diff is collapsed.
Click to expand it.
src/com/android/settings/users/AppRestrictionsFragment.java
View file @
35f02378
...
...
@@ -16,6 +16,7 @@
package
com.android.settings.users
;
import
android.app.Activity
;
import
android.app.AppGlobals
;
import
android.appwidget.AppWidgetManager
;
import
android.content.BroadcastReceiver
;
...
...
@@ -37,6 +38,7 @@ import android.graphics.drawable.Drawable;
import
android.os.Bundle
;
import
android.os.Parcelable
;
import
android.os.RemoteException
;
import
android.os.ServiceManager
;
import
android.os.UserHandle
;
import
android.os.UserManager
;
import
android.preference.CheckBoxPreference
;
...
...
@@ -71,6 +73,7 @@ import java.util.Comparator;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.StringTokenizer
;
...
...
@@ -95,9 +98,17 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
private
static
final
int
MAX_APP_RESTRICTIONS
=
100
;
private
static
final
String
DELIMITER
=
";"
;
/** Key for extra passed in from calling fragment for the userId of the user being edited */
public
static
final
String
EXTRA_USER_ID
=
"user_id"
;
/** Key for extra passed in from calling fragment to indicate if this is a newly created user */
public
static
final
String
EXTRA_NEW_USER
=
"new_user"
;
HashMap
<
String
,
Boolean
>
mSelectedPackages
=
new
HashMap
<
String
,
Boolean
>();
private
boolean
mFirstTime
=
true
;
private
boolean
mNewUser
;
private
boolean
mAppListChanged
;
private
int
mCustomRequestCode
;
private
HashMap
<
Integer
,
AppRestrictionsPreference
>
mCustomRequestMap
=
...
...
@@ -117,16 +128,6 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
}
}
public
static
class
Activity
extends
PreferenceActivity
{
@Override
public
Intent
getIntent
()
{
Intent
modIntent
=
new
Intent
(
super
.
getIntent
());
modIntent
.
putExtra
(
EXTRA_SHOW_FRAGMENT
,
AppRestrictionsFragment
.
class
.
getName
());
modIntent
.
putExtra
(
EXTRA_NO_HEADERS
,
true
);
return
modIntent
;
}
}
static
class
AppRestrictionsPreference
extends
SwitchPreference
{
private
boolean
hasSettings
;
private
OnClickListener
listener
;
...
...
@@ -206,6 +207,17 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
public
void
onCreate
(
Bundle
icicle
)
{
super
.
onCreate
(
icicle
);
if
(
icicle
!=
null
)
{
mNewUser
=
icicle
.
getBoolean
(
EXTRA_NEW_USER
,
false
);
mUser
=
new
UserHandle
(
icicle
.
getInt
(
EXTRA_USER_ID
));
}
else
{
Bundle
args
=
getArguments
();
if
(
args
.
containsKey
(
EXTRA_USER_ID
))
{
mUser
=
new
UserHandle
(
args
.
getInt
(
EXTRA_USER_ID
));
}
mNewUser
=
args
.
getBoolean
(
EXTRA_NEW_USER
,
false
);
}
mUserManager
=
(
UserManager
)
getActivity
().
getSystemService
(
Context
.
USER_SERVICE
);
addPreferencesFromResource
(
R
.
xml
.
app_restrictions
);
mAppList
=
getPreferenceScreen
();
...
...
@@ -218,13 +230,16 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
setHasOptionsMenu
(
true
);
}
void
setUser
(
UserHandle
user
,
boolean
newUser
)
{
mUser
=
user
;
mNewUser
=
newUser
;
@Override
public
void
onSaveInstanceState
(
Bundle
outState
)
{
super
.
onSaveInstanceState
(
outState
);
outState
.
putBoolean
(
EXTRA_NEW_USER
,
mNewUser
);
outState
.
putInt
(
EXTRA_USER_ID
,
mUser
.
getIdentifier
());
}
public
void
onResume
()
{
super
.
onResume
();
mAppListChanged
=
false
;
if
(
mFirstTime
)
{
mFirstTime
=
false
;
populateApps
();
...
...
@@ -238,6 +253,34 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
mUserPreference
.
setText
(
info
.
name
);
}
public
void
onPause
()
{
super
.
onPause
();
if
(
mAppListChanged
)
{
updateUserAppList
();
}
}
private
void
updateUserAppList
()
{
IPackageManager
ipm
=
IPackageManager
.
Stub
.
asInterface
(
ServiceManager
.
getService
(
"package"
));
for
(
Map
.
Entry
<
String
,
Boolean
>
entry
:
mSelectedPackages
.
entrySet
())
{
if
(
entry
.
getValue
())
{
// Enable selected apps
try
{
ipm
.
installExistingPackageAsUser
(
entry
.
getKey
(),
mUser
.
getIdentifier
());
}
catch
(
RemoteException
re
)
{
}
}
else
{
// Blacklist all other apps, system or downloaded
try
{
ipm
.
deletePackageAsUser
(
entry
.
getKey
(),
null
,
mUser
.
getIdentifier
(),
PackageManager
.
DELETE_SYSTEM_APP
);
}
catch
(
RemoteException
re
)
{
}
}
}
}
private
void
addSystemApps
(
List
<
SelectableAppInfo
>
visibleApps
,
Intent
intent
)
{
final
PackageManager
pm
=
getActivity
().
getPackageManager
();
List
<
ResolveInfo
>
launchableApps
=
pm
.
queryIntentActivities
(
intent
,
0
);
...
...
@@ -383,6 +426,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
p
.
setOrder
(
MAX_APP_RESTRICTIONS
*
(
i
+
2
));
}
mSelectedPackages
.
put
(
packageName
,
p
.
isChecked
());
mAppListChanged
=
true
;
i
++;
}
}
...
...
@@ -437,6 +481,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
pref
.
setChecked
(!
pref
.
isChecked
());
mSelectedPackages
.
put
(
pref
.
getKey
().
substring
(
PKG_PREFIX
.
length
()),
pref
.
isChecked
());
mAppListChanged
=
true
;
updateAllEntries
(
pref
.
getKey
(),
pref
.
isChecked
());
}
}
...
...
@@ -689,6 +734,7 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
arp
.
setChecked
(!
arp
.
isChecked
());
mSelectedPackages
.
put
(
arp
.
getKey
().
substring
(
PKG_PREFIX
.
length
()),
arp
.
isChecked
());
updateAllEntries
(
arp
.
getKey
(),
arp
.
isChecked
());
mAppListChanged
=
true
;
}
return
true
;
}
...
...
This diff is collapsed.
Click to expand it.
src/com/android/settings/users/UserRestrictionsActivity.java
deleted
100644 → 0
View file @
a2e64ac8
/*
* 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.
*/
package
com.android.settings.users
;
import
android.accounts.Account
;
import
android.accounts.AccountManager
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.pm.IPackageManager
;
import
android.content.pm.PackageManager
;
import
android.content.pm.UserInfo
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.os.Bundle
;
import
android.os.RemoteException
;
import
android.os.ServiceManager
;
import
android.os.UserHandle
;
import
android.os.UserManager
;
import
android.view.View
;
import
android.view.View.OnClickListener
;
import
android.widget.Button
;
import
com.android.settings.R
;
import
java.util.Map
;
public
class
UserRestrictionsActivity
extends
Activity
implements
OnClickListener
{
private
static
final
String
TAG
=
UserRestrictionsActivity
.
class
.
getSimpleName
();
static
final
String
EXTRA_USER_NAME
=
"user_name"
;
static
final
String
EXTRA_USER_ID
=
"user_id"
;
static
final
String
EXTRA_ACCOUNTS
=
"accounts"
;
private
Button
mFinishButton
;
private
Button
mBackButton
;
private
AppRestrictionsFragment
mAppsFragment
;
private
UserInfo
mUserInfo
;
private
boolean
mNewUser
;
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
user_limits
);
mBackButton
=
(
Button
)
findViewById
(
R
.
id
.
back_button
);
if
(
mBackButton
!=
null
)
{
mBackButton
.
setOnClickListener
(
this
);
}
mFinishButton
=
(
Button
)
findViewById
(
R
.
id
.
next_button
);
if
(
mFinishButton
!=
null
)
{
mFinishButton
.
setOnClickListener
(
this
);
}
mAppsFragment
=
(
AppRestrictionsFragment
)
getFragmentManager
().
findFragmentById
(
R
.
id
.
user_limits_fragment
);
UserManager
um
=
(
UserManager
)
getSystemService
(
Context
.
USER_SERVICE
);
String
name
=
getIntent
().
getStringExtra
(
EXTRA_USER_NAME
);
int
userId
=
getIntent
().
getIntExtra
(
EXTRA_USER_ID
,
-
1
);
// Create the user so we have an id
if
(
userId
==
-
1
)
{
mNewUser
=
true
;
mUserInfo
=
um
.
createUser
(
name
,
UserInfo
.
FLAG_RESTRICTED
);
um
.
setUserRestriction
(
UserManager
.
DISALLOW_MODIFY_ACCOUNTS
,
true
,
new
UserHandle
(
mUserInfo
.
id
));
Bitmap
bitmap
=
BitmapFactory
.
decodeResource
(
getResources
(),
UserSettings
.
USER_DRAWABLES
[
mUserInfo
.
id
%
UserSettings
.
USER_DRAWABLES
.
length
]);
um
.
setUserIcon
(
mUserInfo
.
id
,
bitmap
);
}
else
{
mUserInfo
=
um
.
getUserInfo
(
userId
);
}
if
(
mAppsFragment
!=
null
)
{
mAppsFragment
.
setUser
(
new
UserHandle
(
mUserInfo
.
id
),
mNewUser
);
}
}
@Override
public
void
onClick
(
View
v
)
{
if
(
v
==
mFinishButton
)
{
if
(
mNewUser
)
{
AccountManager
am
=
AccountManager
.
get
(
this
);
Account
[]
accounts
=
am
.
getAccounts
();
if
(
accounts
!=
null
)
{
for
(
Account
account
:
accounts
)
{
am
.
addSharedAccount
(
account
,
new
UserHandle
(
mUserInfo
.
id
));
}
}
}
IPackageManager
ipm
=
IPackageManager
.
Stub
.
asInterface
(
ServiceManager
.
getService
(
"package"
));
for
(
Map
.
Entry
<
String
,
Boolean
>
entry
:
mAppsFragment
.
mSelectedPackages
.
entrySet
())
{
if
(
entry
.
getValue
())
{
// Enable selected apps
try
{
ipm
.
installExistingPackageAsUser
(
entry
.
getKey
(),
mUserInfo
.
id
);
}
catch
(
RemoteException
re
)
{
}
}
else
{
// Blacklist all other apps, system or downloaded
try
{
ipm
.
deletePackageAsUser
(
entry
.
getKey
(),
null
,
mUserInfo
.
id
,
PackageManager
.
DELETE_SYSTEM_APP
);
}
catch
(
RemoteException
re
)
{
}
}
}
setResult
(
RESULT_OK
);
mUserInfo
=
null
;
finish
();
}
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
if
(
mUserInfo
!=
null
&&
mNewUser
)
{
UserManager
um
=
(
UserManager
)
getSystemService
(
Context
.
USER_SERVICE
);
um
.
removeUser
(
mUserInfo
.
id
);
}
}
}
This diff is collapsed.
Click to expand it.
src/com/android/settings/users/UserSettings.java
View file @
35f02378
...
...
@@ -42,6 +42,7 @@ import android.os.RemoteException;
import
android.os.UserHandle
;
import
android.os.UserManager
;
import
android.preference.Preference
;
import
android.preference.PreferenceActivity
;
import
android.preference.PreferenceScreen
;
import
android.preference.Preference.OnPreferenceClickListener
;
import
android.preference.PreferenceGroup
;
...
...
@@ -83,16 +84,20 @@ public class UserSettings extends SettingsPreferenceFragment
private
static
final
String
KEY_ADD_RESTRICTED_USER
=
"user_add_restricted"
;
private
static
final
String
KEY_ADD_TRUSTED_USER
=
"user_add_trusted"
;
private
static
final
int
MENU_ADD_USER
=
Menu
.
FIRST
;
private
static
final
int
MENU_REMOVE_USER
=
Menu
.
FIRST
+
1
;
private
static
final
int
MENU_REMOVE_USER
=
Menu
.
FIRST
;
private
static
final
int
DIALOG_CONFIRM_REMOVE
=
1
;
private
static
final
int
DIALOG_ADD_USER
=
2
;
private
static
final
int
DIALOG_SETUP_USER
=
3
;
private
static
final
int
DIALOG_USER_CANNOT_MANAGE
=
4
;
private
static
final
int
DIALOG_ADD_USER_TRUSTED
=
2
;
private
static
final
int
DIALOG_ADD_USER_LIMITED
=
3
;
private
static
final
int
DIALOG_SETUP_USER
=
4
;
private
static
final
int
DIALOG_USER_CANNOT_MANAGE
=
5
;
private
static
final
int
MESSAGE_UPDATE_LIST
=
1
;
private
static
final
int
MESSAGE_SETUP_USER
=
2
;
private
static
final
int
MESSAGE_CONFIG_USER
=
3
;
private
static
final
int
USER_TYPE_TRUSTED
=
1
;
private
static
final
int
USER_TYPE_LIMITED
=
2
;
private
static
final
String
KEY_ADD_USER_LONG_MESSAGE_DISPLAYED
=
"key_add_user_long_message_displayed"
;
...
...
@@ -135,6 +140,9 @@ public class UserSettings extends SettingsPreferenceFragment
case
MESSAGE_SETUP_USER:
onUserCreated
(
msg
.
arg1
);
break
;
case
MESSAGE_CONFIG_USER:
onManageUserClicked
(
msg
.
arg1
,
true
);
break
;
}
}
};
...
...
@@ -237,10 +245,7 @@ public class UserSettings extends SettingsPreferenceFragment
@Override
public
boolean
onOptionsItemSelected
(
MenuItem
item
)
{
final
int
itemId
=
item
.
getItemId
();
if
(
itemId
==
MENU_ADD_USER
)
{
onAddUserClicked
();
return
true
;
}
else
if
(
itemId
==
MENU_REMOVE_USER
)
{
if
(
itemId
==
MENU_REMOVE_USER
)
{
onRemoveUserClicked
(
UserHandle
.
myUserId
());
return
true
;
}
else
{
...
...
@@ -278,10 +283,17 @@ public class UserSettings extends SettingsPreferenceFragment
}
}
private
void
onAddUserClicked
()
{
private
void
onAddUserClicked
(
int
userType
)
{
synchronized
(
mUserLock
)
{
if
(
mRemovingUserId
==
-
1
&&
!
mAddingUser
)
{
showDialog
(
DIALOG_ADD_USER
);
switch
(
userType
)
{
case
USER_TYPE_TRUSTED:
showDialog
(
DIALOG_ADD_USER_TRUSTED
);
break
;
case
USER_TYPE_LIMITED:
showDialog
(
DIALOG_ADD_USER_LIMITED
);
break
;
}
}
}
}
...
...
@@ -295,11 +307,50 @@ public class UserSettings extends SettingsPreferenceFragment
}
}
private
void
onManageUserClicked
(
int
userId
)
{
Intent
appsChooser
=
new
Intent
();
appsChooser
.
setClass
(
getActivity
(),
UserRestrictionsActivity
.
class
);
appsChooser
.
putExtra
(
UserRestrictionsActivity
.
EXTRA_USER_ID
,
userId
);
startActivity
(
appsChooser
);
private
UserInfo
createLimitedUser
()
{
UserInfo
newUserInfo
=
mUserManager
.
createUser
(
getResources
().
getString
(
R
.
string
.
user_new_user_name
),
UserInfo
.
FLAG_RESTRICTED
);
int
userId
=
newUserInfo
.
id
;
UserHandle
user
=
new
UserHandle
(
userId
);
mUserManager
.
setUserRestriction
(
UserManager
.
DISALLOW_MODIFY_ACCOUNTS
,
true
,
user
);
Bitmap
bitmap
=
BitmapFactory
.
decodeResource
(
getResources
(),
UserSettings
.
USER_DRAWABLES
[
userId
%
UserSettings
.
USER_DRAWABLES
.
length
]);
mUserManager
.
setUserIcon
(
userId
,
bitmap
);
// Add shared accounts
AccountManager
am
=
AccountManager
.
get
(
getActivity
());
Account
[]
accounts
=
am
.
getAccounts
();
if
(
accounts
!=
null
)
{
for
(
Account
account
:
accounts
)
{
am
.
addSharedAccount
(
account
,
user
);
}
}
return
newUserInfo
;
}
private
UserInfo
createTrustedUser
()
{
UserInfo
newUserInfo
=
mUserManager
.
createUser
(
getActivity
().
getResources
().
getString
(
R
.
string
.
user_new_user_name
),
0
);
if
(
newUserInfo
!=
null
)
{
assignDefaultPhoto
(
newUserInfo
);
}
return
newUserInfo
;
}
private
void
onManageUserClicked
(
int
userId
,
boolean
newUser
)
{
Bundle
extras
=
new
Bundle
();
extras
.
putInt
(
AppRestrictionsFragment
.
EXTRA_USER_ID
,
userId
);
extras
.
putBoolean
(
AppRestrictionsFragment
.
EXTRA_NEW_USER
,
newUser
);
String
title
=
getResources
().
getString
(
R
.
string
.
user_new_user_name
);
if
(
userId
>
UserHandle
.
USER_OWNER
)
{
title
=
mUserManager
.
getUserInfo
(
userId
).
name
;
}
((
PreferenceActivity
)
getActivity
()).
startPreferencePanel
(
AppRestrictionsFragment
.
class
.
getName
(),
extras
,
0
,
title
,
null
,
0
);
}
private
void
onUserCreated
(
int
userId
)
{
...
...
@@ -340,7 +391,8 @@ public class UserSettings extends SettingsPreferenceFragment
.
setMessage
(
R
.
string
.
user_cannot_manage_message
)
.
setPositiveButton
(
android
.
R
.
string
.
ok
,
null
)
.
create
();
case
DIALOG_ADD_USER:
{
case
DIALOG_ADD_USER_TRUSTED:
case
DIALOG_ADD_USER_LIMITED:
{
final
SharedPreferences
preferences
=
getActivity
().
getPreferences
(
Context
.
MODE_PRIVATE
);
final
boolean
longMessageDisplayed
=
preferences
.
getBoolean
(
...
...
@@ -348,13 +400,15 @@ public class UserSettings extends SettingsPreferenceFragment
final
int
messageResId
=
longMessageDisplayed
?
R
.
string
.
user_add_user_message_short
:
R
.
string
.
user_add_user_message_long
;
final
int
userType
=
dialogId
==
DIALOG_ADD_USER_TRUSTED
?
USER_TYPE_TRUSTED
:
USER_TYPE_LIMITED
;
Dialog
dlg
=
new
AlertDialog
.
Builder
(
getActivity
())
.
setTitle
(
R
.
string
.
user_add_user_title
)
.
setMessage
(
messageResId
)
.
setPositiveButton
(
android
.
R
.
string
.
ok
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
addUserNow
();
addUserNow
(
userType
);
if
(!
longMessageDisplayed
)
{
preferences
.
edit
().
putBoolean
(
KEY_ADD_USER_LONG_MESSAGE_DISPLAYED
,
true
).
commit
();
...
...
@@ -409,23 +463,29 @@ public class UserSettings extends SettingsPreferenceFragment
}
}
private
void
addUserNow
()
{
private
void
addUserNow
(
final
int
userType
)
{
synchronized
(
mUserLock
)
{
mAddingUser
=
true
;
updateUserList
();
new
Thread
()
{
public
void
run
()
{
UserInfo
user
=
null
;
// Could take a few seconds
UserInfo
user
=
mUserManager
.
createUser
(
getActivity
().
getResources
().
getString
(
R
.
string
.
user_new_user_name
),
0
);
if
(
user
!=
null
)
{
assignDefaultPhoto
(
u
ser
);
if
(
userType
==
USER_TYPE_TRUSTED
)
{
user
=
createTrustedUser
(
);
}
else
{
user
=
createLimitedU
ser
(
);
}
synchronized
(
mUserLock
)
{
mAddingUser
=
false
;
mHandler
.
sendEmptyMessage
(
MESSAGE_UPDATE_LIST
);
mHandler
.
sendMessage
(
mHandler
.
obtainMessage
(
MESSAGE_SETUP_USER
,
user
.
id
,
user
.
serialNumber
));
if
(
userType
==
USER_TYPE_TRUSTED
)
{
mHandler
.
sendMessage
(
mHandler
.
obtainMessage
(
MESSAGE_SETUP_USER
,
user
.
id
,
user
.
serialNumber
));
}
else
{
mHandler
.
sendMessage
(
mHandler
.
obtainMessage
(
MESSAGE_CONFIG_USER
,
user
.
id
,
user
.
serialNumber
));
}
}
}
}.
start
();
...
...
@@ -589,16 +649,9 @@ public class UserSettings extends SettingsPreferenceFragment
}
}
}
else
if
(
pref
==
mAddTrustedUser
)
{
onAddUserClicked
();
onAddUserClicked
(
USER_TYPE_TRUSTED
);
}
else
if
(
pref
==
mAddRestrictedUser
)
{
Account
[]
accounts
=
((
AccountManager
)
getSystemService
(
Context
.
ACCOUNT_SERVICE
))
.
getAccounts
();
Intent
intent
=
new
Intent
(
getActivity
(),
UserRestrictionsActivity
.
class
);
intent
.
putExtra
(
UserRestrictionsActivity
.
EXTRA_USER_NAME
,
getResources
().
getString
(
R
.
string
.
user_new_user_name
));
intent
.
putExtra
(
UserRestrictionsActivity
.
EXTRA_ACCOUNTS
,
accounts
);
startActivity
(
intent
);
onAddUserClicked
(
USER_TYPE_LIMITED
);
}
return
false
;
}
...
...
@@ -626,7 +679,7 @@ public class UserSettings extends SettingsPreferenceFragment
onRemoveUserClicked
(
userId
);
break
;
case
UserPreference
.
SETTINGS_ID
:
onManageUserClicked
(
userId
);
onManageUserClicked
(
userId
,
false
);
break
;
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment