/
GenOpsActivity.java
36 lines (33 loc) · 1.72 KB
/
GenOpsActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package com.xdandroid.sample.misc;
import android.app.*;
/**
* uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
* android:theme="@android:style/Theme.NoDisplay"
*/
public class GenOpsActivity extends Activity implements Utils {
/* @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return;
setPermissive();
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, hashCode());
finish();
return;
}
new Thread(() -> {
try (FileOutputStream fos = new FileOutputStream(new File(Environment.getExternalStorageDirectory(), "ops.sh"))) {
getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS)
.stream()
.filter(i -> (i.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0)
.filter(i -> (i.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0)
.map(i -> i.applicationInfo.packageName)
.flatMap(n -> Stream.of(BLACK_LIST_OPS).map(op -> genOp(n, op)))
.forEach(op -> {
try { fos.write(op.getBytes("UTF-8")); } catch (IOException e) { throw asUnchecked(e); }
});
} catch (Exception e) { e.printStackTrace(); }
}).start();
finish();
}*/
}