Fix export and import

This commit is contained in:
NekoInverter committed 2020-03-26 12:55:44 +08:00
1 parent fc07e47900
commit b9dbfc99d6
1 file changed
+8 -1
@@ -30,6 +30,7 @@ import androidx.preference.PreferenceGroup;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.hippo.ehviewer.AppConfig;
import com.hippo.ehviewer.BuildConfig;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.EhDB;
import com.hippo.ehviewer.GetText;
@@ -106,6 +107,7 @@ public class AdvancedFragment extends PreferenceFragmentCompat
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/plain");
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.putExtra(Intent.EXTRA_TITLE, "logcat-" + ReadableTime.getFilenamableTime(System.currentTimeMillis()) + ".txt");
startActivityForResult(intent, REQUEST_DUMP_LOGCAT);
return true;
@@ -115,13 +117,15 @@ public class AdvancedFragment extends PreferenceFragmentCompat
} else if (KEY_IMPORT_DATA.equals(key)) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("application/x-sqlite3");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setType("*/*");
startActivityForResult(intent, REQUEST_CODE_IMPORT);
return true;
} else if (KEY_EXPORT_DATA.equals(key)) {
Intent intent = new Intent(Intent.ACTION_CREATE_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("application/x-sqlite3");
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.putExtra(Intent.EXTRA_TITLE, ReadableTime.getFilenamableTime(System.currentTimeMillis()) + ".db");
startActivityForResult(intent, REQUEST_CODE_EXPORT);
return true;
@@ -138,6 +142,7 @@ public class AdvancedFragment extends PreferenceFragmentCompat
if (data != null) {
Uri uri = data.getData();
if (uri != null) {
requireActivity().grantUriPermission(BuildConfig.APPLICATION_ID, uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
try {
AlertDialog alertDialog = new MaterialAlertDialogBuilder(requireActivity())
.setCancelable(false)
@@ -165,6 +170,7 @@ public class AdvancedFragment extends PreferenceFragmentCompat
if (data != null) {
Uri uri = data.getData();
if (uri != null) {
requireActivity().grantUriPermission(BuildConfig.APPLICATION_ID, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION);
try {
AlertDialog alertDialog = new MaterialAlertDialogBuilder(requireActivity())
.setCancelable(false)
@@ -192,6 +198,7 @@ public class AdvancedFragment extends PreferenceFragmentCompat
if (data != null) {
Uri uri = data.getData();
if (uri != null) {
requireActivity().grantUriPermission(BuildConfig.APPLICATION_ID, uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
try {
boolean ok = LogCat.save(requireActivity().getContentResolver().openOutputStream(uri));
Toast.makeText(getActivity(),