74 lines
2.6 KiB
Java
74 lines
2.6 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 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.List;
|
|
|
|
import butterknife.BindView;
|
|
import butterknife.ButterKnife;
|
|
|
|
public class QuickAppActivity extends BaseActivity {
|
|
public static final String QUICK_APP_KEY = "QuickAppKey";
|
|
private AppSelectedAdapter mAppSelectedAdapter;
|
|
|
|
@BindView(R.id.recyclerView)
|
|
RecyclerView recyclerView;
|
|
|
|
@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 (BuildConfig.APPLICATION_ID.equals(packageInfo.applicationInfo.packageName)) {
|
|
continue;
|
|
}
|
|
final boolean isSystem = (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
|
|
if (!listThirdParty || !isSystem) {
|
|
AppSelectBean appSelectBean = new AppSelectBean(packageInfo.applicationInfo.loadLabel(pm).toString(), packageInfo.applicationInfo.packageName, packageInfo.applicationInfo.loadIcon(pm));
|
|
appSelectBeanList.add(appSelectBean);
|
|
}
|
|
}
|
|
return appSelectBeanList;
|
|
}
|
|
}
|