public void importPackageListFromFile(Uri uri, Consumer<Boolean> onRes) {
        disposables.add(Single.create((SingleOnSubscribe<Boolean>) emitter -> {
            try {
                InputStream inputStream = getApplication().getContentResolver().openInputStream(uri);
                if (inputStream == null) {
                    return;
                }
                @SuppressWarnings("UnstableApiUsage") String content = CharStreams.toString(new InputStreamReader(inputStream, StandardCharsets.UTF_8));
                XLog.w("importPackageListFromFile, content: " + content);
                Set<String> packageSet = parseJsonToPackages(content);
                if (!CollectionUtils.isNullOrEmpty(packageSet)) {
                    ThanosManager.from(getApplication()).ifServiceInstalled(thanosManager -> CollectionUtils.consumeRemaining(packageSet, pkg -> thanosManager.getPkgManager().setPkgSmartFreezeEnabled(Pkg.systemUserPkg(pkg), true)));
                    emitter.onSuccess(true);
                    start();
                } else {
                    emitter.onSuccess(false);
                }
            } catch (Throwable ex) {
                XLog.e("importPackageListFromClipboard error", Log.getStackTraceString(ex));
                emitter.onSuccess(false);
            }
        }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(onRes::accept));
    }
Null means we load all pkgs
android/app/src/main/java/now/fortuitous/thanos/power/SmartFreezeAppsViewModel.java