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");

}

相关推荐
饭小猿人4 小时前
Android 腾讯X5WebView如何禁止系统自带剪切板和自定义剪切板视图
android·java
_李小白5 小时前
【android opencv学习笔记】Day 8: remap(像素位置重映射)
android·opencv·学习
美狐美颜SDK开放平台5 小时前
多场景美颜SDK解决方案:直播APP(iOS/安卓)开发接入详解
android·人工智能·ios·音视频·美颜sdk·第三方美颜sdk·短视频美颜sdk
嗷o嗷o5 小时前
Android BLE 里,MTU、分包和长数据发送到底该怎么处理
android
Gary Studio7 小时前
Android AIDL HAL工程结构示例
android
y = xⁿ7 小时前
MySQL八股知识合集
android·mysql·adb
andr_gale8 小时前
04_rc文件语法规则
android·framework·aosp
祖国的好青年9 小时前
VS Code 搭建 React Native 开发环境(Windows 实战指南)
android·windows·react native·react.js
黄林晴9 小时前
警惕!AGP 9.2 别只改版本号,R8 规则与构建链路全线收紧
android·gradle