public void exportPackageListToClipBoard(Runnable onSuccess, Consumer<Throwable> onError) {
        disposables.add(Completable.fromRunnable(() -> {
            String json = getExportPackageListContent();
            ClipboardManager cmb = (ClipboardManager) getApplication().getSystemService(Context.CLIPBOARD_SERVICE);
            XLog.w("content: " + json);
            cmb.setPrimaryClip(ClipData.newPlainText("package-list", json));
        }).observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.io()).subscribe(onSuccess::run, onError::accept));
    }
Null means we load all pkgs
android/app/src/main/java/now/fortuitous/thanos/power/SmartFreezeAppsViewModel.java