diff --git a/app/src/main/java/protect/card_locker/ImportExportActivity.java b/app/src/main/java/protect/card_locker/ImportExportActivity.java index bd8fac2d3..bbd4eba9a 100644 --- a/app/src/main/java/protect/card_locker/ImportExportActivity.java +++ b/app/src/main/java/protect/card_locker/ImportExportActivity.java @@ -81,36 +81,14 @@ public class ImportExportActivity extends AppCompatActivity } }); - - // Check that there is an activity that can bring up a file chooser - final Intent intentPickAction = new Intent(Intent.ACTION_PICK); - - Button importFilesystem = findViewById(R.id.importOptionFilesystemButton); - importFilesystem.setOnClickListener(new View.OnClickListener() - { - @Override - public void onClick(View v) - { - chooseFileWithIntent(intentPickAction); - } - }); - - if(isCallable(getApplicationContext(), intentPickAction) == false) - { - findViewById(R.id.dividerImportFilesystem).setVisibility(View.GONE); - findViewById(R.id.importOptionFilesystemTitle).setVisibility(View.GONE); - findViewById(R.id.importOptionFilesystemExplanation).setVisibility(View.GONE); - importFilesystem.setVisibility(View.GONE); - } - - - // Check that there is an application that can find content + // Check that there is a file manager available final Intent intentGetContentAction = new Intent(Intent.ACTION_GET_CONTENT); intentGetContentAction.addCategory(Intent.CATEGORY_OPENABLE); intentGetContentAction.setType("*/*"); - Button importApplication = findViewById(R.id.importOptionApplicationButton); - importApplication.setOnClickListener(new View.OnClickListener() + + Button importFilesystem = findViewById(R.id.importOptionFilesystemButton); + importFilesystem.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) @@ -120,6 +98,27 @@ public class ImportExportActivity extends AppCompatActivity }); if(isCallable(getApplicationContext(), intentGetContentAction) == false) + { + findViewById(R.id.dividerImportFilesystem).setVisibility(View.GONE); + findViewById(R.id.importOptionFilesystemTitle).setVisibility(View.GONE); + findViewById(R.id.importOptionFilesystemExplanation).setVisibility(View.GONE); + importFilesystem.setVisibility(View.GONE); + } + + // Check that there is an app that data can be imported from + final Intent intentPickAction = new Intent(Intent.ACTION_PICK); + + Button importApplication = findViewById(R.id.importOptionApplicationButton); + importApplication.setOnClickListener(new View.OnClickListener() + { + @Override + public void onClick(View v) + { + chooseFileWithIntent(intentPickAction); + } + }); + + if(isCallable(getApplicationContext(), intentPickAction) == false) { findViewById(R.id.dividerImportApplication).setVisibility(View.GONE); findViewById(R.id.importOptionApplicationTitle).setVisibility(View.GONE); @@ -127,7 +126,6 @@ public class ImportExportActivity extends AppCompatActivity importApplication.setVisibility(View.GONE); } - // This option, to import from the fixed location, should always be present Button importButton = findViewById(R.id.importOptionFixedButton); diff --git a/app/src/test/java/protect/card_locker/ImportExportActivityTest.java b/app/src/test/java/protect/card_locker/ImportExportActivityTest.java index 8da091476..3da64ff7d 100644 --- a/app/src/test/java/protect/card_locker/ImportExportActivityTest.java +++ b/app/src/test/java/protect/card_locker/ImportExportActivityTest.java @@ -71,7 +71,7 @@ public class ImportExportActivityTest if(isInstalled) { - registerIntentHandler(Intent.ACTION_PICK); + registerIntentHandler(Intent.ACTION_GET_CONTENT); } Activity activity = Robolectric.setupActivity(ImportExportActivity.class); @@ -102,7 +102,7 @@ public class ImportExportActivityTest if(isInstalled) { - registerIntentHandler(Intent.ACTION_GET_CONTENT); + registerIntentHandler(Intent.ACTION_PICK); } Activity activity = Robolectric.setupActivity(ImportExportActivity.class);