Files
Xuewang365OSNeutral/app/src/main/java/com/uiui/aios/activity/QuickAppActivity.java
Fanhuitong 5bd102b891 version:7.3
fix:
update:细节调整
2022-12-29 11:47:32 +08:00

92 lines
3.3 KiB
Java

package com.uiui.aios.activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.util.Log;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.uiui.aios.BuildConfig;
import com.uiui.aios.R;
import com.uiui.aios.adapter.AppSelectedAdapter;
import com.uiui.aios.base.BaseActivity;
import com.uiui.aios.bean.AppSelectBean;
import com.uiui.aios.view.GridSpaceItemDecoration;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import butterknife.BindView;
import butterknife.ButterKnife;
public class QuickAppActivity extends BaseActivity {
private static final String TAG = QuickAppActivity.class.getSimpleName();
public static final String QUICK_APP_KEY = "QuickAppPackageKey";
public static final String QUICK_APP_REFRESH_KEY = "QuickAppRefreshKey";
public static final String QUICK_APP_ENABLED_KEY = "QuickAppEnabledKey";
private AppSelectedAdapter mAppSelectedAdapter;
@BindView(R.id.recyclerView)
RecyclerView recyclerView;
private Set<String> hideApp = new HashSet<String>() {{
this.add(BuildConfig.APPLICATION_ID);
this.add("com.android.calendar");
this.add("com.android.dreams.basic");
this.add("com.android.musicfx");
this.add("com.uiui.appstore");
this.add("com.uiui.sn");
}};
@Override
public int getLayoutId() {
return R.layout.activity_quick_app;
}
@Override
public void initView() {
ButterKnife.bind(this);
mAppSelectedAdapter = new AppSelectedAdapter();
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
recyclerView.addItemDecoration(new GridSpaceItemDecoration(3, 50, 50));
} else {
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
recyclerView.addItemDecoration(new GridSpaceItemDecoration(2, 50, 50));
}
recyclerView.setAdapter(mAppSelectedAdapter);
}
@Override
public void initData() {
mAppSelectedAdapter.setAppSelectBeans(getPackageList());
}
boolean listThirdParty = true;
private List<AppSelectBean> getPackageList() {
PackageManager pm = getPackageManager();
List<AppSelectBean> appSelectBeanList = new ArrayList<>();
List<PackageInfo> applicationInfos = pm.getInstalledPackages(0);
for (PackageInfo packageInfo : applicationInfos) {
if (hideApp.contains(packageInfo.applicationInfo.packageName)) {
continue;
}
final boolean isSystem = (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
if (!listThirdParty || !isSystem) {
Log.e(TAG, "getPackageList: " + packageInfo.applicationInfo.packageName);
AppSelectBean appSelectBean = new AppSelectBean(packageInfo.applicationInfo.loadLabel(pm).toString(), packageInfo.applicationInfo.packageName, packageInfo.applicationInfo.loadIcon(pm));
appSelectBeanList.add(appSelectBean);
}
}
return appSelectBeanList;
}
}