diff --git a/build.gradle b/build.gradle index 1e7ed07..0a57a8c 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,6 @@ buildscript { dependencies { // Android plugin for gradle // http://google.github.io/android-gradle-dsl - classpath 'com.android.tools.build:gradle:1.5.0' + classpath 'com.android.tools.build:gradle:2.1.0' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 04e72a6..14f20b1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jul 06 10:31:50 CST 2017 +#Tue Dec 05 15:39:40 CST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.11-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip diff --git a/keyboardservice/build.gradle b/keyboardservice/build.gradle index e1e8f09..30c7165 100644 --- a/keyboardservice/build.gradle +++ b/keyboardservice/build.gradle @@ -8,8 +8,8 @@ android { applicationId 'com.android.adbkeyboard' minSdkVersion 15 targetSdkVersion 22 - versionCode 1 - versionName "1.1" + versionCode 3 + versionName "2.1" } } diff --git a/keyboardservice/src/main/AndroidManifest.xml b/keyboardservice/src/main/AndroidManifest.xml index 90723ee..6e1b9c3 100644 --- a/keyboardservice/src/main/AndroidManifest.xml +++ b/keyboardservice/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ + android:versionCode="2" + android:versionName="2.0" > - + + + + + + + + \ No newline at end of file diff --git a/keyboardservice/src/main/java/com/android/adbkeyboard/ProcessInfoService.java b/keyboardservice/src/main/java/com/android/adbkeyboard/ProcessInfoService.java new file mode 100644 index 0000000..80976c8 --- /dev/null +++ b/keyboardservice/src/main/java/com/android/adbkeyboard/ProcessInfoService.java @@ -0,0 +1,75 @@ +package com.android.adbkeyboard; + +/** + * Created by andrewleo on 2017/11/1. + */ + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.List; + +import android.app.IntentService; +import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.os.Bundle; +import android.util.Log; + +import org.json.JSONArray; +import org.json.JSONObject; + +public class ProcessInfoService extends IntentService { + + private static final String PROCESS_INFO_ACTION = "com.android.adbkeyboard.ProcessInfo"; + private static final String DEFAULT_FILE_PATH = "/data/local/tmp/appinfos"; + + public ProcessInfoService() { + super("ProcessInfoService"); + } + + @Override + protected void onHandleIntent(Intent intent) { + if (intent != null) { + Bundle bundle = intent.getExtras(); + String fileToSaved = (bundle != null) ? bundle.getString("fileToSave", + DEFAULT_FILE_PATH) : DEFAULT_FILE_PATH; + try { + switch (intent.getAction()) { + case PROCESS_INFO_ACTION: + JSONArray jsonArray = new JSONArray(); + PackageManager pm = this.getPackageManager(); + for (ApplicationInfo appinfo : getAppInfos()) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put(appinfo.loadLabel(pm).toString(), appinfo.processName); + jsonArray.put(jsonObject); + } + saveToFile(fileToSaved, jsonArray.toString()); + } + } catch (Exception e) { + Log.e("adbKeyBoard", e.getMessage()); + e.printStackTrace(); + } + } + + } + + private void saveToFile(String filePath, String content) throws IOException { + File file = new File(filePath); + if (!file.exists()) { + file.createNewFile(); + } + FileWriter fw = new FileWriter(file); + BufferedWriter bw = new BufferedWriter(fw); + bw.write(content); + bw.close(); + } + + private List getAppInfos() { + PackageManager pm = getApplicationContext().getPackageManager(); + List appList = pm + .getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES); + return appList; + } +} diff --git a/keyboardservice/src/main/res/layout/keyboard.xml b/keyboardservice/src/main/res/layout/keyboard.xml index 71fc64a..56e995b 100644 --- a/keyboardservice/src/main/res/layout/keyboard.xml +++ b/keyboardservice/src/main/res/layout/keyboard.xml @@ -7,31 +7,11 @@ -