2017-02-12 19:49:46 +08:00
|
|
|
package com.topjohnwu.magisk.asyncs;
|
|
|
|
|
|
|
|
import android.app.Activity;
|
|
|
|
import android.content.pm.ApplicationInfo;
|
|
|
|
import android.content.pm.PackageManager;
|
|
|
|
|
|
|
|
import com.topjohnwu.magisk.adapters.ApplicationAdapter;
|
|
|
|
|
|
|
|
import java.util.Collections;
|
|
|
|
import java.util.Iterator;
|
2017-02-13 04:00:45 +08:00
|
|
|
import java.util.List;
|
2017-02-12 19:49:46 +08:00
|
|
|
|
2017-02-13 04:00:45 +08:00
|
|
|
public class LoadApps extends ParallelTask<Void, Void, Void> {
|
2017-02-12 19:49:46 +08:00
|
|
|
|
|
|
|
public LoadApps(Activity context) {
|
|
|
|
super(context);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected Void doInBackground(Void... voids) {
|
|
|
|
PackageManager pm = magiskManager.getPackageManager();
|
2017-02-13 04:00:45 +08:00
|
|
|
List<ApplicationInfo> list = pm.getInstalledApplications(0);
|
|
|
|
for (Iterator<ApplicationInfo> i = list.iterator(); i.hasNext(); ) {
|
2017-02-12 19:49:46 +08:00
|
|
|
ApplicationInfo info = i.next();
|
|
|
|
if (ApplicationAdapter.BLACKLIST.contains(info.packageName) || !info.enabled)
|
|
|
|
i.remove();
|
|
|
|
}
|
2017-02-13 04:00:45 +08:00
|
|
|
Collections.sort(list, (a, b) -> a.loadLabel(pm).toString().toLowerCase()
|
2017-02-12 19:49:46 +08:00
|
|
|
.compareTo(b.loadLabel(pm).toString().toLowerCase()));
|
2017-02-13 04:00:45 +08:00
|
|
|
magiskManager.appList = Collections.unmodifiableList(list);
|
2017-02-12 19:49:46 +08:00
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onPostExecute(Void v) {
|
2017-02-13 04:00:45 +08:00
|
|
|
new MagiskHide(activity).list();
|
2017-02-12 19:49:46 +08:00
|
|
|
}
|
|
|
|
}
|