Android 隐藏桌面应用,指定应用显示;暗码输入显示所有应用,以及暗码方式触发

/vendor/google/apps/GmsSampleIntegration/res_dhs_go_2gb/xml/partner_default_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2017 Google Inc. All Rights Reserved. -->
<favorites>
<!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
<!-- Dialer Messaging Calendar Contacts Camera
<favorite container="-101" screen="0" x="0" y="0" packageName="com.android.dialer" className="com.android.dialer.main.impl.MainActivity"/>
<favorite container="-101" screen="1" x="1" y="0" packageName="com.android.mms" className="com.android.mms.ui.BootActivity"/>
<favorite container="-101" screen="2" x="2" y="0" packageName="com.android.chrome" className="com.google.android.apps.chrome.Main"/>
<favorite container="-101" screen="3" x="3" y="0" packageName="com.mediatek.camera" className="com.mediatek.camera.CameraLauncher"/>
-->
<!-- In Launcher3, workspaces extend infinitely to the right, incrementing from zero -->
<!-- Google folder -->
<!-- Assistant Go, Gallery, Gmail, Google, Maps, YouTube, Meet, YT Music, Drive, Google TV, Find Device
<folder title="@string/google_folder_title" screen="0" x="0" y="3">
<favorite packageName="com.google.android.apps.assistant" className="com.google.android.apps.assistant.go.MainActivity"/>
<favorite packageName="com.google.android.apps.photosgo" className="com.google.android.apps.photosgo.home.HomeActivity"/>
<favorite packageName="com.google.android.gm" className="com.google.android.gm.ConversationListActivityGmail"/>
<favorite packageName="com.google.android.apps.searchlite" className="com.google.android.apps.searchlite.ui.SearchActivity"/>
<favorite packageName="com.google.android.apps.maps" className="com.google.android.maps.MapsActivity"/>
<favorite packageName="com.google.android.youtube" className="com.google.android.youtube.app.honeycomb.Shell$HomeActivity"/>
<favorite packageName="com.google.android.apps.tachyon" className="com.google.android.apps.tachyon.MainActivity"/>
<favorite packageName="com.google.android.apps.youtube.music" className="com.google.android.apps.youtube.music.activities.MusicActivity"/>
<favorite packageName="com.google.android.apps.docs" className="com.google.android.apps.docs.app.NewMainProxyActivity"/>
<favorite packageName="com.google.android.videos" className="com.google.android.videos.GoogleTvEntryPoint"/>
<favorite packageName="com.google.android.apps.adm" className="com.google.android.apps.adm.activities.MainActivity"/>
</folder>
<favorite screen="0" x="3" y="3" packageName="com.android.vending" className="com.android.vending.AssetBrowserActivity"/>
-->
<favorite screen="0" x="0" y="2" packageName="com.easytalk" className="com.cellls.awesome.android.gui.LoginActivity"/>
<!--
<favorite screen="0" x="1" y="2" packageName="com.whatsapp" className="com.whatsapp.Main"/>
-->
<favorite screen="0" x="2" y="2" packageName="com.waze" className="com.waze.FreeMapAppActivity"/>
</favorites>

/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java

static boolean handleSecretCode(Context context, String input) {

//*/ freeme.chenming, 20170214. Freeme handleSecretCode

if (com.freeme.telephony.FreemeSpecialCharSequenceMgr.handleSecretCode(context, input)) {

return true;

}

//*/

//*/ tyd,lxd, add reload launcher show
if ("112358132134".equals(input)) {
//*/tyd,add
android.provider.Settings.System.putInt(context.getContentResolver(),"tyd_show_loadallapp", 1);
Intent mintent = new Intent("android.intent.action.reloadworkspace");
context.sendBroadcast(mintent);
android.widget.Toast.makeText(context,"Show All Apps",Toast.LENGTH_LONG).show();
//*/
return true;
}
//*/

vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/LoaderTask.java

private List<LauncherActivityInfo> loadAllApps() {

final List<UserHandle> profiles = mUserCache.getUserProfiles();

List<LauncherActivityInfo> allActivityList = new ArrayList<>();

// Clear the list of apps

mBgAllAppsList.clear();

List<IconRequestInfo<AppInfo>> iconRequestInfos = new ArrayList<>();

for (UserHandle user : profiles) {

// Query for the set of apps

final List<LauncherActivityInfo> apps = mLauncherApps.getActivityList(null, user);

// Fail if we don't have any apps

// TODO: Fix this. Only fail for the current user.

if (apps == null || apps.isEmpty()) {

return allActivityList;

}

boolean quietMode = mUserManagerState.isUserQuiet(user);

// Create the ApplicationInfos

for (int i = 0; i < apps.size(); i++) {

LauncherActivityInfo app = apps.get(i);

//*/TYD.add

if(app.getComponentName().getPackageName().equals("com.android.inputmethod.latin") ||

app.getComponentName().getPackageName().equals("com.iflytek.inputmethod.gionee")

|| app.getComponentName().getPackageName().equals("com.android.fmradio")

//|| app.getComponentName().getPackageName().equals("com.android.stk")

) {

continue;

}

//*/

//*/tyd,lxd,hide and show all apps but some app show
if(android.provider.Settings.System.getInt(mApp.getContext().getContentResolver(),"tyd_show_loadallapp", 0) == 0){
if(app.getComponentName().getPackageName().equals("com.android.settings") ||
app.getComponentName().getPackageName().equals("com.android.calendar")
|| app.getComponentName().getPackageName().equals("com.android.deskclock")
|| app.getComponentName().getPackageName().equals("com.android.mms")
|| app.getComponentName().getPackageName().equals("com.mediatek.camera")
|| app.getComponentName().getPackageName().equals("com.android.calculator2")
|| app.getComponentName().getPackageName().equals("com.android.chrome")
|| app.getComponentName().getPackageName().equals("com.android.contacts")
|| app.getComponentName().getPackageName().equals("com.android.documentsui")
|| app.getComponentName().getPackageName().equals("com.google.android.apps.photosgo")
|| app.getComponentName().getPackageName().equals("com.android.music")
|| app.getComponentName().getPackageName().equals("com.android.soundrecorder")
|| app.getComponentName().getPackageName().equals("com.android.vending")
|| app.getComponentName().getPackageName().equals("com.whatsapp")
|| app.getComponentName().getPackageName().equals("com.android.dialer")
) {
continue;
}
}
//*/

AppInfo appInfo = new AppInfo(app, user, quietMode);

iconRequestInfos.add(new IconRequestInfo<>(

appInfo, app, /* useLowResIcon= */ false));

mBgAllAppsList.add(

appInfo, app, !FeatureFlags.ENABLE_BULK_ALL_APPS_ICON_LOADING.get());

}

allActivityList.addAll(apps);

}

vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/LauncherAppState.java

SimpleBroadcastReceiver modelChangeReceiver =

new SimpleBroadcastReceiver(mModel::onBroadcastIntent);

modelChangeReceiver.register(mContext, Intent.ACTION_LOCALE_CHANGED,

Intent.ACTION_MANAGED_PROFILE_AVAILABLE,

Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE,

//*/tyd,lxd,add reload launcher bc
"android.intent.action.reloadworkspace",
//*/

Intent.ACTION_MANAGED_PROFILE_UNLOCKED,

ACTION_DEVICE_POLICY_RESOURCE_UPDATED);

/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/LauncherModel.java

public void onBroadcastIntent(Intent intent) {

//*/tyd,lxd,add reload launcher show
else if ("android.intent.action.reloadworkspace".equals(action)) {
forceReload();
android.util.Log.d("TYD", "================onBroadcastIntent=================="+action);
}
//*/

}

frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

隐藏开机后没有隐藏完全的应用

//*/tyd,lxd,boot bc

filter.addAction(Intent.ACTION_BOOT_COMPLETED);

filter.addAction("android.intent.action.reloadworkspace");

//*/

Intent intent = context.registerReceiver(mDockReceiver, filter);
///*/tyd,lxd,add boot bc

if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {

PackageManager pm1 = mContext.getPackageManager();

ComponentName cmp1 = new ComponentName("com.android.settings", "com.android.settings.Settings");

pm1.setComponentEnabledSetting(cmp1,

pm1.COMPONENT_ENABLED_STATE_DISABLED ,

pm1.DONT_KILL_APP);

PackageManager pm2 = mContext.getPackageManager();

ComponentName cmp2 = new ComponentName("com.android.calendar", "com.android.calendar.AllInOneActivity");

pm2.setComponentEnabledSetting(cmp2,

pm2.COMPONENT_ENABLED_STATE_DISABLED,

pm2.DONT_KILL_APP);

PackageManager pm3 = mContext.getPackageManager();

ComponentName cmp3 = new ComponentName("com.google.android.apps.photosgo", "com.google.android.apps.photosgo.home.HomeActivity");

pm3.setComponentEnabledSetting(cmp3,

pm3.COMPONENT_ENABLED_STATE_DISABLED,

pm3.DONT_KILL_APP);

PackageManager pm4 = mContext.getPackageManager();

ComponentName cmp4 = new ComponentName("com.android.vending", "com.android.vending.AssetBrowserActivity");

pm4.setComponentEnabledSetting(cmp4,

pm4.COMPONENT_ENABLED_STATE_DISABLED,

pm4.DONT_KILL_APP);

PackageManager pm5 = mContext.getPackageManager();

ComponentName cmp5 = new ComponentName("com.whatsapp", "com.whatsapp.Main");

pm5.setComponentEnabledSetting(cmp5,

pm5.COMPONENT_ENABLED_STATE_DISABLED,

pm5.DONT_KILL_APP);

}

//*/

//*/

if (**"android.intent.action.reloadworkspace".**equals(intent.getAction())) {

PackageManager pm1 = context.getPackageManager();

ComponentName cmp1 = new ComponentName("com.android.settings", "com.android.settings.Settings");

pm1.setComponentEnabledSetting(cmp1,

pm1.COMPONENT_ENABLED_STATE_DEFAULT ,

pm1.DONT_KILL_APP);

PackageManager pm2 = context.getPackageManager();

ComponentName cmp2 = new ComponentName("com.android.calendar", "com.android.calendar.AllInOneActivity");

pm2.setComponentEnabledSetting(cmp2,

pm2.COMPONENT_ENABLED_STATE_DEFAULT,

pm2.DONT_KILL_APP);

PackageManager pm3 = context.getPackageManager();

ComponentName cmp3 = new ComponentName("com.google.android.apps.photosgo", "com.google.android.apps.photosgo.home.HomeActivity");

pm3.setComponentEnabledSetting(cmp3,

pm3.COMPONENT_ENABLED_STATE_DEFAULT,

pm3.DONT_KILL_APP);

PackageManager pm4 = context.getPackageManager();

ComponentName cmp4 = new ComponentName("com.android.vending", "com.android.vending.AssetBrowserActivity");

pm4.setComponentEnabledSetting(cmp4,

pm4.COMPONENT_ENABLED_STATE_DEFAULT,

pm4.DONT_KILL_APP);

PackageManager pm5 = context.getPackageManager();

ComponentName cmp5 = new ComponentName("com.whatsapp", "com.whatsapp.Main");

pm5.setComponentEnabledSetting(cmp5,

pm5.COMPONENT_ENABLED_STATE_DEFAULT,

pm5.DONT_KILL_APP);

}

//*/

按键按下3次触发暗码:

//*/tyd,lxd, set press triple click open dialpad

long mInterval = 0;

long mLastDown = 0;

int mButtonCountTaps = 0;

//*/
if (down) {

//*/tyd,lxd,add triple open diler pad
mInterval = event.getEventTime() - mLastDown;
mLastDown = event.getEventTime();
if (mInterval > 500) {
mButtonCountTaps = 1;
} else {
mButtonCountTaps ++;
}
//*/

sendBC("android.intent.action.F1.down");

mDownTime = event.getEventTime();

mHandler.postDelayed(new Runnable() {

public void run() {

sendBC("android.intent.action.F1.longpress");

}

}, 2 * 1000);

}

if (event.getAction() == KeyEvent.ACTION_UP) {

//*/tyd,lxd,add triple open diler pad
if (mButtonCountTaps == 3) {
Intent intent=new Intent(Intent.ACTION_DIAL);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
}
//*/

mHandler.removeMessages(0);

sendBC("android.intent.action.F1.up");

}

相关推荐
csj504 小时前
安卓基础之《(26)—回到桌面与切到任务列表》
android
Grackers4 小时前
Android Perfetto 系列 7:MainThread 和 RenderThread 解读
android
whatever who cares4 小时前
java/android中单例模式详解
android·java
草莓熊Lotso4 小时前
【Linux系统加餐】 mmap 文件映射全解:从底层原理、API 到实战开发(含 malloc 模拟实现)
android·linux·运维·服务器·c语言·c++
peakmain94 小时前
CmComposeUI——基于 Kotlin Multiplatform Compose 的 UI 组件库
android
LcGero4 小时前
Cocos Creator 业务与原生通信详解
android·ios·cocos creator·游戏开发·jsb
fundoit4 小时前
MySQL插入数据遇到唯一键已存在怎么办?
android·数据库·mysql
ameyume4 小时前
基于原生Android 16设置音量调用流程
android·audio
ii_best4 小时前
lua语言开发脚本基础、mql命令库开发、安卓/ios基础开发教程,按键精灵新手工具
android·ios·自动化·编辑器