[app] Fix user tab
This commit is contained in:
parent
85bf905d8c
commit
7c77589d35
|
|
@ -33,7 +33,6 @@ import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.text.Spannable;
|
import android.text.Spannable;
|
||||||
import android.text.SpannableStringBuilder;
|
import android.text.SpannableStringBuilder;
|
||||||
|
|
@ -84,7 +83,6 @@ import org.lsposed.manager.util.ModuleUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
@ -143,7 +141,7 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
});
|
});
|
||||||
|
|
||||||
binding.fab.setOnClickListener(view -> {
|
binding.fab.setOnClickListener(view -> {
|
||||||
var pickAdaptor = new ModuleAdapter(0, null, true);
|
var pickAdaptor = new ModuleAdapter(0, true);
|
||||||
var position = binding.viewPager.getCurrentItem();
|
var position = binding.viewPager.getCurrentItem();
|
||||||
var snapshot = adapters.get(position).snapshot().stream().map(m -> m.packageName).collect(Collectors.toSet());
|
var snapshot = adapters.get(position).snapshot().stream().map(m -> m.packageName).collect(Collectors.toSet());
|
||||||
var userId = adapters.get(position).getUserId();
|
var userId = adapters.get(position).getUserId();
|
||||||
|
|
@ -208,18 +206,13 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
super.onResume();
|
super.onResume();
|
||||||
int[] userIds = ConfigManager.getUsers();
|
int[] userIds = ConfigManager.getUsers();
|
||||||
if (userIds != null) {
|
if (userIds != null) {
|
||||||
List<UserHandle> users = userManager.getUserProfiles();
|
|
||||||
HashMap<Integer, UserHandle> handles = new HashMap<>();
|
|
||||||
for (UserHandle handle : users) {
|
|
||||||
handles.put(handle.hashCode(), handle);
|
|
||||||
}
|
|
||||||
if (userIds.length != adapters.size()) {
|
if (userIds.length != adapters.size()) {
|
||||||
adapters.clear();
|
adapters.clear();
|
||||||
if (users.size() != 1) {
|
if (userIds.length != 1) {
|
||||||
binding.viewPager.setUserInputEnabled(true);
|
binding.viewPager.setUserInputEnabled(true);
|
||||||
ArrayList<String> titles = new ArrayList<>();
|
ArrayList<String> titles = new ArrayList<>();
|
||||||
for (int userId : userIds) {
|
for (int userId : userIds) {
|
||||||
var adapter = new ModuleAdapter(userId, handles.get(userId));
|
var adapter = new ModuleAdapter(userId);
|
||||||
adapter.setHasStableIds(true);
|
adapter.setHasStableIds(true);
|
||||||
adapters.add(adapter);
|
adapters.add(adapter);
|
||||||
titles.add(getString(R.string.user_title, userId));
|
titles.add(getString(R.string.user_title, userId));
|
||||||
|
|
@ -228,7 +221,7 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
binding.tabLayout.setVisibility(View.VISIBLE);
|
binding.tabLayout.setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
binding.viewPager.setUserInputEnabled(false);
|
binding.viewPager.setUserInputEnabled(false);
|
||||||
var adapter = new ModuleAdapter(0, users.get(0));
|
var adapter = new ModuleAdapter(0);
|
||||||
adapter.setHasStableIds(true);
|
adapter.setHasStableIds(true);
|
||||||
adapters.add(adapter);
|
adapters.add(adapter);
|
||||||
binding.tabLayout.setVisibility(View.GONE);
|
binding.tabLayout.setVisibility(View.GONE);
|
||||||
|
|
@ -404,20 +397,18 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
private final ConcurrentLinkedQueue<ModuleUtil.InstalledModule> searchList = new ConcurrentLinkedQueue<>();
|
private final ConcurrentLinkedQueue<ModuleUtil.InstalledModule> searchList = new ConcurrentLinkedQueue<>();
|
||||||
private final List<ModuleUtil.InstalledModule> showList = new ArrayList<>();
|
private final List<ModuleUtil.InstalledModule> showList = new ArrayList<>();
|
||||||
private final int userId;
|
private final int userId;
|
||||||
private final UserHandle userHandle;
|
|
||||||
private final boolean isPick;
|
private final boolean isPick;
|
||||||
private boolean isLoaded;
|
private boolean isLoaded;
|
||||||
private View.OnClickListener onPickListener;
|
private View.OnClickListener onPickListener;
|
||||||
|
|
||||||
private Predicate<ModuleUtil.InstalledModule> customFilter = m -> true;
|
private Predicate<ModuleUtil.InstalledModule> customFilter = m -> true;
|
||||||
|
|
||||||
ModuleAdapter(int userId, UserHandle userHandle) {
|
ModuleAdapter(int userId) {
|
||||||
this(userId, userHandle, false);
|
this(userId, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
ModuleAdapter(int userId, UserHandle userHandle, boolean isPick) {
|
ModuleAdapter(int userId, boolean isPick) {
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
this.userHandle = userHandle;
|
|
||||||
this.isPick = isPick;
|
this.isPick = isPick;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -509,9 +500,6 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi
|
||||||
if (RepoLoader.getInstance().getOnlineModule(item.packageName) == null) {
|
if (RepoLoader.getInstance().getOnlineModule(item.packageName) == null) {
|
||||||
menu.removeItem(R.id.menu_repo);
|
menu.removeItem(R.id.menu_repo);
|
||||||
}
|
}
|
||||||
if (userHandle == null) {
|
|
||||||
menu.removeItem(R.id.menu_app_info);
|
|
||||||
}
|
|
||||||
if (item.userId == 0) {
|
if (item.userId == 0) {
|
||||||
int[] users = ConfigManager.getUsers();
|
int[] users = ConfigManager.getUsers();
|
||||||
if (users != null) {
|
if (users != null) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue