Skip to content

Commit fe1deff

Browse files
committed
update apk
1 parent 42d0d8c commit fe1deff

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

app/src/main/java/com/zfdang/touchhelper/TouchHelperServiceImpl.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public class TouchHelperServiceImpl {
6565
private PackageManager packageManager;
6666
private String currentPackageName, currentActivityName;
6767
private String packageName;
68-
private Set<String> pkgLaunchers, pkgWhiteList;
68+
private Set<String> pkgLaunchers, pkgIMEApps, pkgHomes, pkgWhiteList;
6969
private List<String> keyWordList;
7070

7171
private Map<String, PackagePositionDescription> mapPackagePositions;
@@ -237,6 +237,12 @@ public void onAccessibilityEvent(AccessibilityEvent event) {
237237
CharSequence tempPkgName = event.getPackageName();
238238
CharSequence tempClassName = event.getClassName();
239239

240+
if(tempPkgName != null && pkgIMEApps.contains(tempPkgName)) {
241+
// this means IME is started in one app, so we will stop skipping process
242+
// ignore this event;
243+
break;
244+
}
245+
240246
if(tempPkgName == null || tempClassName == null) {
241247
// currentPackageName = "initial package";
242248
// currentActivityName = "initial activity";
@@ -607,38 +613,37 @@ private void updatePackage() {
607613
// Log.d(TAG, "updatePackage");
608614

609615
pkgLaunchers = new HashSet<>();
610-
// Set<String> pkgHomes = new HashSet<>();
616+
pkgIMEApps = new HashSet<>();
617+
pkgHomes = new HashSet<>();
611618
Set<String> pkgTemps = new HashSet<>();
612619

613620
// find all launchers
614621
Intent intent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER);
615622
List<ResolveInfo> ResolveInfoList = packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL);
616623
for (ResolveInfo e : ResolveInfoList) {
617-
// Log.d(TAG, "launcher - " + e.activityInfo.packageName);
618624
pkgLaunchers.add(e.activityInfo.packageName);
619625
}
620626
// find all homes
621627
intent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME);
622628
ResolveInfoList = packageManager.queryIntentActivities(intent, PackageManager.MATCH_ALL);
623629
for (ResolveInfo e : ResolveInfoList) {
624-
//// Log.d(TAG, "homes - " + e.activityInfo.packageName);
625-
pkgTemps.add(e.activityInfo.packageName);
630+
pkgHomes.add(e.activityInfo.packageName);
626631
}
627632
// find all input methods
628633
List<InputMethodInfo> inputMethodInfoList = ((InputMethodManager) service.getSystemService(AccessibilityService.INPUT_METHOD_SERVICE)).getInputMethodList();
629634
for (InputMethodInfo e : inputMethodInfoList) {
630-
//// Log.d(TAG, "IME - " + e.getPackageName());
631-
pkgTemps.add(e.getPackageName());
635+
pkgIMEApps.add(e.getPackageName());
632636
}
637+
633638
// ignore some packages in hardcoded way
634639
// https://support.google.com/a/answer/7292363?hl=en
635-
pkgTemps.add(packageName);
640+
pkgTemps.add(this.packageName);
636641
pkgTemps.add("com.android.settings");
637642

638643
// remove whitelist, systems, homes & ad-hoc packages from pkgLaunchers
639644
pkgLaunchers.removeAll(pkgWhiteList);
640-
// pkgLaunchers.removeAll(pkgHomes);
641-
pkgLaunchers.removeAll(pkgTemps);
645+
pkgLaunchers.removeAll(pkgHomes);
646+
pkgLaunchers.removeAll(pkgIMEApps);
642647
// Log.d(TAG, "Working List = " + pkgLaunchers.toString());
643648
}
644649

1.71 MB
Binary file not shown.

0 commit comments

Comments
 (0)