From 1408129f0e9d2d4ff42a6450bd69d8b7e4d36106 Mon Sep 17 00:00:00 2001 From: Ender's Games Date: Mon, 27 Aug 2018 04:43:18 -0400 Subject: [PATCH] Android: Use getDataDir for API 24+ (N) --- .../emulator/config/PGConfigFragment.java | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/PGConfigFragment.java b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/PGConfigFragment.java index 019bd2a5d..40d495329 100644 --- a/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/PGConfigFragment.java +++ b/shell/android-studio/reicast/src/main/java/com/reicast/emulator/config/PGConfigFragment.java @@ -190,9 +190,14 @@ public class PGConfigFragment extends Fragment { importPGC.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { try { - copy(new File(getActivity().getExternalFilesDir(null), gameId - + ".xml"), new File("/data/data/" + getActivity() - .getPackageName(),"/shared_prefs/" + gameId + ".xml")); + File xml = new File("/data/data/" + + getActivity().getPackageName(),"/shared_prefs/"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + xml = new File(getActivity().getDataDir(), + "/shared_prefs/" + gameId + ".xml"); + } + copy(new File(getActivity().getExternalFilesDir(null), + gameId + ".xml"), xml); showToastMessage(getActivity().getString( R.string.pgconfig_imported), Snackbar.LENGTH_SHORT); configureViewByGame(gameId); @@ -206,9 +211,14 @@ public class PGConfigFragment extends Fragment { exportPGC.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { try { - copy(new File("/data/data/" + getActivity().getPackageName(), - "/shared_prefs/" + gameId + ".xml"), new File(getActivity() - .getExternalFilesDir(null), gameId + ".xml")); + File xml = new File("/data/data/" + + getActivity().getPackageName(),"/shared_prefs/"); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + xml = new File(getActivity().getDataDir(), + "/shared_prefs/" + gameId + ".xml"); + } + copy(xml, new File(getActivity().getExternalFilesDir(null), + gameId + ".xml")); showToastMessage(getActivity().getString( R.string.pgconfig_exported), Snackbar.LENGTH_SHORT); } catch (Exception e) {