use of android.util.IntArray in project android_frameworks_base by crdroidandroid.
the class ExploreByTouchHelper method createNodeForHost.
/**
* Constructs and returns an {@link AccessibilityNodeInfo} for the
* host view populated with its virtual descendants.
*
* @return An {@link AccessibilityNodeInfo} for the parent node.
*/
private AccessibilityNodeInfo createNodeForHost() {
final AccessibilityNodeInfo node = AccessibilityNodeInfo.obtain(mView);
mView.onInitializeAccessibilityNodeInfo(node);
final int realNodeCount = node.getChildCount();
// Allow the client to populate the host node.
onPopulateNodeForHost(node);
// Add the virtual descendants.
if (mTempArray == null) {
mTempArray = new IntArray();
} else {
mTempArray.clear();
}
final IntArray virtualViewIds = mTempArray;
getVisibleVirtualViews(virtualViewIds);
if (realNodeCount > 0 && virtualViewIds.size() > 0) {
throw new RuntimeException("Views cannot have both real and virtual children");
}
final int N = virtualViewIds.size();
for (int i = 0; i < N; i++) {
node.addChild(mView, virtualViewIds.get(i));
}
return node;
}
use of android.util.IntArray in project android_frameworks_base by crdroidandroid.
the class UserController method getUsersToStopLocked.
/**
* Determines the list of users that should be stopped together with the specified
* {@code userId}. The returned list includes {@code userId}.
*/
@NonNull
private int[] getUsersToStopLocked(int userId) {
int startedUsersSize = mStartedUsers.size();
IntArray userIds = new IntArray();
userIds.add(userId);
synchronized (mUserProfileGroupIdsSelfLocked) {
int userGroupId = mUserProfileGroupIdsSelfLocked.get(userId, UserInfo.NO_PROFILE_GROUP_ID);
for (int i = 0; i < startedUsersSize; i++) {
UserState uss = mStartedUsers.valueAt(i);
int startedUserId = uss.mHandle.getIdentifier();
// Skip unrelated users (profileGroupId mismatch)
int startedUserGroupId = mUserProfileGroupIdsSelfLocked.get(startedUserId, UserInfo.NO_PROFILE_GROUP_ID);
boolean sameGroup = (userGroupId != UserInfo.NO_PROFILE_GROUP_ID) && (userGroupId == startedUserGroupId);
// userId has already been added
boolean sameUserId = startedUserId == userId;
if (!sameGroup || sameUserId) {
continue;
}
userIds.add(startedUserId);
}
}
return userIds.toArray();
}
use of android.util.IntArray in project android_frameworks_base by crdroidandroid.
the class NetworkStatsCollection method getRelevantUids.
public int[] getRelevantUids(@NetworkStatsAccess.Level int accessLevel, final int callerUid) {
IntArray uids = new IntArray();
for (int i = 0; i < mStats.size(); i++) {
final Key key = mStats.keyAt(i);
if (NetworkStatsAccess.isAccessibleToUser(key.uid, callerUid, accessLevel)) {
int j = uids.binarySearch(key.uid);
if (j < 0) {
j = ~j;
uids.add(j, key.uid);
}
}
}
return uids.toArray();
}
use of android.util.IntArray in project platform_frameworks_base by android.
the class UserController method getUsersToStopLocked.
/**
* Determines the list of users that should be stopped together with the specified
* {@code userId}. The returned list includes {@code userId}.
*/
@NonNull
private int[] getUsersToStopLocked(int userId) {
int startedUsersSize = mStartedUsers.size();
IntArray userIds = new IntArray();
userIds.add(userId);
synchronized (mUserProfileGroupIdsSelfLocked) {
int userGroupId = mUserProfileGroupIdsSelfLocked.get(userId, UserInfo.NO_PROFILE_GROUP_ID);
for (int i = 0; i < startedUsersSize; i++) {
UserState uss = mStartedUsers.valueAt(i);
int startedUserId = uss.mHandle.getIdentifier();
// Skip unrelated users (profileGroupId mismatch)
int startedUserGroupId = mUserProfileGroupIdsSelfLocked.get(startedUserId, UserInfo.NO_PROFILE_GROUP_ID);
boolean sameGroup = (userGroupId != UserInfo.NO_PROFILE_GROUP_ID) && (userGroupId == startedUserGroupId);
// userId has already been added
boolean sameUserId = startedUserId == userId;
if (!sameGroup || sameUserId) {
continue;
}
userIds.add(startedUserId);
}
}
return userIds.toArray();
}
use of android.util.IntArray in project android_frameworks_base by AOSPA.
the class UserController method getUsersToStopLocked.
/**
* Determines the list of users that should be stopped together with the specified
* {@code userId}. The returned list includes {@code userId}.
*/
@NonNull
private int[] getUsersToStopLocked(int userId) {
int startedUsersSize = mStartedUsers.size();
IntArray userIds = new IntArray();
userIds.add(userId);
synchronized (mUserProfileGroupIdsSelfLocked) {
int userGroupId = mUserProfileGroupIdsSelfLocked.get(userId, UserInfo.NO_PROFILE_GROUP_ID);
for (int i = 0; i < startedUsersSize; i++) {
UserState uss = mStartedUsers.valueAt(i);
int startedUserId = uss.mHandle.getIdentifier();
// Skip unrelated users (profileGroupId mismatch)
int startedUserGroupId = mUserProfileGroupIdsSelfLocked.get(startedUserId, UserInfo.NO_PROFILE_GROUP_ID);
boolean sameGroup = (userGroupId != UserInfo.NO_PROFILE_GROUP_ID) && (userGroupId == startedUserGroupId);
// userId has already been added
boolean sameUserId = startedUserId == userId;
if (!sameGroup || sameUserId) {
continue;
}
userIds.add(startedUserId);
}
}
return userIds.toArray();
}
Aggregations