From 570ad9e03eff845dbac603584dec7904e1e2b099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Friedger=20M=C3=BCffke?= Date: Wed, 13 Feb 2019 10:21:27 +0100 Subject: [PATCH] upgrade to sdk 28, use minSdk=14, remove duplicate tests --- FileManager/AndroidManifest.xml | 8 +- FileManager/build.gradle | 28 +- FileManager/res/menu-v11/context.xml | 62 -- FileManager/res/menu-v11/simple_file_list.xml | 37 -- FileManager/res/menu/context.xml | 9 +- FileManager/res/menu/simple_file_list.xml | 2 +- .../lists/SimpleFileListFragment.java | 1 - FileManagerDemo/AndroidManifest.xml | 1 - FileManagerDemo/build.gradle | 84 +++ FileManagerDemo/build.properties | 42 -- FileManagerDemo/build.xml | 358 ----------- FileManagerDemo/default.properties | 2 - .../openintents/filemanager/demo/Demo.java | 23 +- FileManagerTest/.classpath | 9 - FileManagerTest/.project | 34 -- FileManagerTest/AndroidManifest.xml | 19 - FileManagerTest/ant.properties | 14 - FileManagerTest/build.xml | 20 - .../libs/polidea_test_runner_1.2.jar | Bin 15050 -> 0 bytes .../libs/robotium-solo-3.4.1-javadoc.jar | Bin 41867 -> 0 bytes FileManagerTest/libs/robotium-solo-3.4.1.jar | Bin 58041 -> 0 bytes FileManagerTest/lint.xml | 6 - FileManagerTest/project.properties | 12 - FileManagerTest/readme.txt | 28 - FileManagerTest/res/drawable-hdpi/icon.png | Bin 4147 -> 0 bytes FileManagerTest/res/drawable-ldpi/icon.png | Bin 1723 -> 0 bytes FileManagerTest/res/drawable-mdpi/icon.png | Bin 2574 -> 0 bytes FileManagerTest/res/layout/main.xml | 11 - FileManagerTest/res/values/strings.xml | 5 - .../test/TestFileManagerActivity.java | 564 ------------------ build.gradle | 6 +- gradle/wrapper/gradle-wrapper.properties | 4 +- settings.gradle | 2 +- 33 files changed, 114 insertions(+), 1277 deletions(-) delete mode 100644 FileManager/res/menu-v11/context.xml delete mode 100644 FileManager/res/menu-v11/simple_file_list.xml create mode 100644 FileManagerDemo/build.gradle delete mode 100644 FileManagerDemo/build.properties delete mode 100644 FileManagerDemo/build.xml delete mode 100644 FileManagerDemo/default.properties delete mode 100644 FileManagerTest/.classpath delete mode 100644 FileManagerTest/.project delete mode 100644 FileManagerTest/AndroidManifest.xml delete mode 100644 FileManagerTest/ant.properties delete mode 100644 FileManagerTest/build.xml delete mode 100644 FileManagerTest/libs/polidea_test_runner_1.2.jar delete mode 100644 FileManagerTest/libs/robotium-solo-3.4.1-javadoc.jar delete mode 100644 FileManagerTest/libs/robotium-solo-3.4.1.jar delete mode 100644 FileManagerTest/lint.xml delete mode 100644 FileManagerTest/project.properties delete mode 100644 FileManagerTest/readme.txt delete mode 100644 FileManagerTest/res/drawable-hdpi/icon.png delete mode 100644 FileManagerTest/res/drawable-ldpi/icon.png delete mode 100644 FileManagerTest/res/drawable-mdpi/icon.png delete mode 100644 FileManagerTest/res/layout/main.xml delete mode 100644 FileManagerTest/res/values/strings.xml delete mode 100644 FileManagerTest/src/org/openintents/filemanager/test/TestFileManagerActivity.java diff --git a/FileManager/AndroidManifest.xml b/FileManager/AndroidManifest.xml index 7882107d..4441d743 100644 --- a/FileManager/AndroidManifest.xml +++ b/FileManager/AndroidManifest.xml @@ -18,9 +18,7 @@ + android:installLocation="auto"> - - diff --git a/FileManager/build.gradle b/FileManager/build.gradle index d81ac7f7..7b21fb24 100644 --- a/FileManager/build.gradle +++ b/FileManager/build.gradle @@ -1,28 +1,28 @@ apply plugin: 'com.android.application' dependencies { - compile 'com.github.openintents:distribution:1.1.3' - compile 'com.android.support:appcompat-v7:25.3.1' + implementation 'com.github.openintents:distribution:1.1.3' + implementation 'com.android.support:appcompat-v7:28.0.0' - androidTestCompile 'com.android.support.test:runner:0.5' - androidTestCompile 'com.android.support.test:rules:0.5' - androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2' - androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2' - androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2' - androidTestCompile 'com.android.support:support-annotations:25.3.1' - compile 'com.android.support.test.espresso:espresso-idling-resource:2.2.2' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test:rules:1.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2' + androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' + androidTestImplementation 'com.android.support:support-annotations:28.0.0' + implementation 'com.android.support.test.espresso:espresso-idling-resource:3.0.2' } android { - compileSdkVersion 25 - buildToolsVersion '26.0.2' + compileSdkVersion 28 + buildToolsVersion '28.0.3' defaultConfig { applicationId "org.openintents.filemanager" versionCode 40 versionName "2.2.3" - minSdkVersion 9 - targetSdkVersion 25 + minSdkVersion 14 + targetSdkVersion 28 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } @@ -66,7 +66,7 @@ android { def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { def fileName = outputFile.name.replace('.apk', "-${versionName}.apk") - output.outputFileName = new File(outputFile.parent, fileName) + output.outputFileName = new File(output.outputFile.parent, fileName).getName() } } } diff --git a/FileManager/res/menu-v11/context.xml b/FileManager/res/menu-v11/context.xml deleted file mode 100644 index c66d2e5d..00000000 --- a/FileManager/res/menu-v11/context.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/FileManager/res/menu-v11/simple_file_list.xml b/FileManager/res/menu-v11/simple_file_list.xml deleted file mode 100644 index 4e0a6cfb..00000000 --- a/FileManager/res/menu-v11/simple_file_list.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/FileManager/res/menu/context.xml b/FileManager/res/menu/context.xml index a2d01582..c66d2e5d 100644 --- a/FileManager/res/menu/context.xml +++ b/FileManager/res/menu/context.xml @@ -1,8 +1,4 @@ - - + + xmlns:app="http://schemas.android.com/apk/res-auto"> - diff --git a/FileManagerDemo/build.gradle b/FileManagerDemo/build.gradle new file mode 100644 index 00000000..b90a9077 --- /dev/null +++ b/FileManagerDemo/build.gradle @@ -0,0 +1,84 @@ +apply plugin: 'com.android.application' + +dependencies { + implementation 'com.github.openintents:distribution:1.1.3' +} + +android { + compileSdkVersion 28 + buildToolsVersion '28.0.3' + + defaultConfig { + applicationId "org.openintents.filemanager.demo" + versionCode 40 + versionName "2.2.3" + minSdkVersion 14 + targetSdkVersion 28 + + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = ['src'] + resources.srcDirs = ['src'] + aidl.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + res.srcDirs = ['res'] + assets.srcDirs = ['assets'] + jni.srcDirs = ['jni'] + } + + + // Move the build types to build-types/ + // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... + // This moves them out of them default location under src//... which would + // conflict with src/ being used by the main source set. + // Adding new build types or product flavors should be accompanied + // by a similar customization. + debug.setRoot('build-types/debug') + release.setRoot('build-types/release') + } + + lintOptions { + abortOnError false + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + + applicationVariants.all { variant -> + variant.outputs.each { output -> + def outputFile = output.outputFile + if (outputFile != null && outputFile.name.endsWith('.apk')) { + def fileName = outputFile.name.replace('.apk', "-${versionName}.apk") + output.outputFileName = new File(output.outputFile.parent, fileName).getName() + } + } + } + } + } + + def propertyFile = new File(projectDir, "build-private.properties") + if (propertyFile && propertyFile.exists()) { + signingConfigs { + release { + Properties props = new Properties() + props.load(new FileInputStream(propertyFile)) + + storeFile file(props.getProperty("key.store")) + storePassword props.getProperty("key.store.password") + keyAlias props.getProperty("key.alias") + keyPassword props.getProperty("key.alias.password") + } + } + buildTypes.release.signingConfig signingConfigs.release + println "Release apks will be signed!" + } else { + println "For signed release apks you need to create a build-private.properties file" + } + +} diff --git a/FileManagerDemo/build.properties b/FileManagerDemo/build.properties deleted file mode 100644 index 00fe51ab..00000000 --- a/FileManagerDemo/build.properties +++ /dev/null @@ -1,42 +0,0 @@ -##### Notice: -# -# Ant properties are immutable: -# whoever sets a property first freezes -# it for the rest of the build. -# -# You can therefore override the following properties -# either through the command line or within Eclipse: -# -# -------------- -# In Eclipse: -# * Open "Window" / "Preferences..." -# * Select "Ant" / "Runtime" -# * Choose tab "Properties" -# * Click "Add Property..." for the following: -# -# * - Name: "android.sdk" -# - value: [path to sdk, e.g. C:\android-sdk_m5-rc15_windows] -# -------------< -# Alternatively, you can provide the property through the -# command line: -# * ant -Dandroid.sdk=C:\android-sdk_m5-rc15_windows -#################################### -# Global properties -# -#################################### -# OS specific properties -# -# android.sdk : path to Android SDK -### Windows -android.sdk=C:\\Program Files\\android\\android-sdk-windows-1.0_r1 -#android.sdk=C:\\android-sdk-windows-1.0_r1 -android.aapt=aapt.exe -android.aidl=aidl.exe -android.dx=dx.bat -android.jar=android.jar -### Linux -# android.sdk=/opt/tools/javame/android-sdk_m5-rc15_linux-x86 -# android.aapt=aapt -# android.aidl=aidl -# android.dx=dx -# android.jar=android.jar diff --git a/FileManagerDemo/build.xml b/FileManagerDemo/build.xml deleted file mode 100644 index e84d0748..00000000 --- a/FileManagerDemo/build.xml +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - - - - - - Using Android SDK directory ${sdk-folder} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - purging .bak files - - - - - - - - Generating R.java / Manifest.java from the resources... - - - - - - - - - - - - - - - - - Compiling aidl files into Java classes... - - - - - - - - - - - - - - - - - - - - - Converting compiled files and external libraries into ${outdir}/${dex-file}... - - - - - - - - - - - Packaging resources and assets... - - - - - - - - - - - - - - - - - - - Packaging resources... - - - - - - - - - - - - - - - - - - - - - - - - - - Packaging ${out-debug-package}, and signing it with a debug key... - - - - - - - - - - - - - - - - Packaging ${out-unsigned-package} for release... - - - - - - - - - - - - - - - - - - Installing ${out-debug-package} onto default emulator... - - - - - - - - Installing ${out-debug-package} onto default emulator... - - - - - - - - - - - Installing ${out-signed-package} onto default emulator... - - - - - - - - Reinstalling ${out-signed-package} onto default emulator... - - - - - - - - - - Uninstalling ${application-package} from the default emulator... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FileManagerDemo/default.properties b/FileManagerDemo/default.properties deleted file mode 100644 index cd119dea..00000000 --- a/FileManagerDemo/default.properties +++ /dev/null @@ -1,2 +0,0 @@ -# Project target. -target=android-15 diff --git a/FileManagerDemo/src/org/openintents/filemanager/demo/Demo.java b/FileManagerDemo/src/org/openintents/filemanager/demo/Demo.java index 5132b4cd..b8461c6e 100644 --- a/FileManagerDemo/src/org/openintents/filemanager/demo/Demo.java +++ b/FileManagerDemo/src/org/openintents/filemanager/demo/Demo.java @@ -1,4 +1,4 @@ -/* +/* * Copyright (C) 2008 OpenIntents.org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -50,8 +50,8 @@ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); - mEditText = (EditText) findViewById(R.id.file_path); - mTextView = (TextView) findViewById(R.id.info); + mEditText = findViewById(R.id.file_path); + mTextView = findViewById(R.id.info); } public void onClickOpenFile(View view) { @@ -78,14 +78,8 @@ public void onClickOpenUri(View view) { * Opens the file manager to select a file to open. */ public void openFile() { - String fileName = mEditText.getText().toString(); - Intent intent = new Intent(FileManagerIntents.ACTION_PICK_FILE); - // Construct URI from file name. - File file = new File(fileName); - intent.setData(Uri.fromFile(file)); - // Set fancy title and button (optional) intent.putExtra(FileManagerIntents.EXTRA_TITLE, getString(R.string.open_title)); intent.putExtra(FileManagerIntents.EXTRA_BUTTON_TEXT, getString(R.string.open_button)); @@ -130,15 +124,9 @@ private void saveFile() { * Opens the file manager to pick a directory. */ private void pickDirectory() { - String fileName = mEditText.getText().toString(); - // Note the different intent: PICK_DIRECTORY Intent intent = new Intent(FileManagerIntents.ACTION_PICK_DIRECTORY); - // Construct URI from file name. - File file = new File(fileName); - intent.setData(Uri.fromFile(file)); - // Set fancy title and button (optional) intent.putExtra(FileManagerIntents.EXTRA_TITLE, getString(R.string.pick_directory_title)); intent.putExtra(FileManagerIntents.EXTRA_BUTTON_TEXT, getString(R.string.pick_directory_button)); @@ -174,14 +162,11 @@ public void getContent() { * Use URI to get a file */ public void openFileUri() { - String filePath = mEditText.getText().toString(); - Uri uri = Uri.parse("file://" + filePath); Intent intent = new Intent(Intent.ACTION_VIEW); - intent.setData(uri); // optionally: - //intent.setPackage("org.openintents.filemanager"); + intent.setPackage("org.openintents.filemanager"); try { startActivity(intent); diff --git a/FileManagerTest/.classpath b/FileManagerTest/.classpath deleted file mode 100644 index c9e49941..00000000 --- a/FileManagerTest/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/FileManagerTest/.project b/FileManagerTest/.project deleted file mode 100644 index 150d98c0..00000000 --- a/FileManagerTest/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - OI File Manager Test - - - OI File Manager - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/FileManagerTest/AndroidManifest.xml b/FileManagerTest/AndroidManifest.xml deleted file mode 100644 index d6d499c0..00000000 --- a/FileManagerTest/AndroidManifest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/FileManagerTest/ant.properties b/FileManagerTest/ant.properties deleted file mode 100644 index 77fdbfab..00000000 --- a/FileManagerTest/ant.properties +++ /dev/null @@ -1,14 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# -# This file must be checked in Version Control Systems, as it is -# integral to the build system of your project. -# This file is only used by the Ant script. -# You can use this to override default values such as -# 'source.dir' for the location of your java source folder and -# 'out.dir' for the location of your output folder. -# You can also use it define how the release builds are signed by declaring -# the following properties: -# 'key.store' for the location of your keystore and -# 'key.alias' for the name of the key to use. -# The password will be asked during the build when you use the 'release' target. -tested.project.dir=../FileManager diff --git a/FileManagerTest/build.xml b/FileManagerTest/build.xml deleted file mode 100644 index 75e7c9a2..00000000 --- a/FileManagerTest/build.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/FileManagerTest/libs/polidea_test_runner_1.2.jar b/FileManagerTest/libs/polidea_test_runner_1.2.jar deleted file mode 100644 index 69da44aaf28ce1988db62e0939cd166093592087..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15050 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%0D6r<-hcEaryU!u#O;5!iG2V|K?>NxC8#)Xg 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 CV5Xq} diff --git a/FileManagerTest/libs/robotium-solo-3.4.1.jar b/FileManagerTest/libs/robotium-solo-3.4.1.jar deleted file mode 100644 index 88906845a372b41f752619b7476ac90cf4161b36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58041 zcmb5V1CS^|vNk%lZQHhOn`dm>GiPkuw$9kLZQHiq*}Hr9-iP>OUq^IzMbwvFSshhb zmHA~UNCSgF0sP~N@qiHgufo3`kbmE@qAG&4l5%473jcyZ07Ub^8F>63fXM%Mpnb|;=ek5yp^X84h#U`1_l7Y_MeCg8aZ3IS~z>CI$KyfkucI3SsOSx zWvi|!Aq%4L(#8iEu*A!vI7DM1nP_Y}2!n_Y5N!m)Yfa6D3>%Y8KIWAj1^NZ}86*=O z1-=gk;+uGQF$n}ntIDX_+U9n@JZ`l=9Gs-q0(deg$CAipO6*02D|1*81?A%k z-%NQ(g^+UJM&$7BQnb-5jYlO6<>h+UN~>37!uX_HW^Z5VuG>**IgspJxLi&xI*a};0#?TMC<+lR-@G#0tXE~Yo0G@_0?*y zn-aW%QD+Yx2zIT7(O(zr)jAV5FXI~D0qQ07Hfa27upgMGF>a(RfD!s&-5sb94bNb{ zABC*kY3X=o79|^Hem*CKRQGk4Q&`>iU5N>T&}18-s-{COX&wh8H)qb9474Sh3y=a?JRIRWHr45 zlfOlqxuuiJPyW<8E$4_ZQe+C|NXMc|IOYjRe9X+_4`P8!T$a#4N|q1Ns4e_P|8INp z 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 NrocvC>m~l({{U@D1_}TG diff --git a/FileManagerTest/lint.xml b/FileManagerTest/lint.xml deleted file mode 100644 index 1f88ec8a..00000000 --- a/FileManagerTest/lint.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/FileManagerTest/project.properties b/FileManagerTest/project.properties deleted file mode 100644 index c291a152..00000000 --- a/FileManagerTest/project.properties +++ /dev/null @@ -1,12 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "ant.properties", and override values to adapt the script to your -# project structure. -# Indicates whether an apk should be generated for each density. -split.density=false -# Project target. -target=android-16 diff --git a/FileManagerTest/readme.txt b/FileManagerTest/readme.txt deleted file mode 100644 index 8578ea62..00000000 --- a/FileManagerTest/readme.txt +++ /dev/null @@ -1,28 +0,0 @@ - **************************************************************************** - * Copyright (C) 2008-2011 OpenIntents.org * - * * - * Licensed under the Apache License, Version 2.0 (the "License"); * - * you may not use this file except in compliance with the License. * - * You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, software * - * distributed under the License is distributed on an "AS IS" BASIS, * - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * - * See the License for the specific language governing permissions and * - * limitations under the License. * - **************************************************************************** - - -OI File Manager Test. - -To obtain the current release, visit - http://www.openintents.org - - ---------------------------------------------------------- -release: 1.0 -date: ? -- First version: GCI task by Michał Zieliński. -- Fix tests that fail on Android 4.0.3: patch by George Venios. diff --git a/FileManagerTest/res/drawable-hdpi/icon.png b/FileManagerTest/res/drawable-hdpi/icon.png deleted file mode 100644 index 8074c4c571b8cd19e27f4ee5545df367420686d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4147 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 diff --git a/FileManagerTest/res/drawable-ldpi/icon.png b/FileManagerTest/res/drawable-ldpi/icon.png deleted file mode 100644 index 1095584ec21f71cd0afc9e0993aa2209671b590c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1723 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 - - - diff --git a/FileManagerTest/res/values/strings.xml b/FileManagerTest/res/values/strings.xml deleted file mode 100644 index fdea3061..00000000 --- a/FileManagerTest/res/values/strings.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Hello World! - TestNoteList - diff --git a/FileManagerTest/src/org/openintents/filemanager/test/TestFileManagerActivity.java b/FileManagerTest/src/org/openintents/filemanager/test/TestFileManagerActivity.java deleted file mode 100644 index 2136ec12..00000000 --- a/FileManagerTest/src/org/openintents/filemanager/test/TestFileManagerActivity.java +++ /dev/null @@ -1,564 +0,0 @@ -/* - * This is an example test project created in Eclipse to test NotePad which is a sample - * project located in AndroidSDK/samples/android-11/NotePad - * Just click on File --> New --> Project --> Android Project --> Create Project from existing source and - * select NotePad. - * - * Then you can run these test cases either on the emulator or on device. You right click - * the test project and select Run As --> Run As Android JUnit Test - * - * @author Renas Reda, renas.reda@jayway.com - * - */ - -package org.openintents.filemanager.test; - -import android.app.Activity; -import android.content.Intent; -import android.content.SharedPreferences; -import android.net.Uri; -import android.os.Environment; -import android.preference.PreferenceManager; -import android.test.InstrumentationTestCase; - -import com.jayway.android.robotium.solo.Solo; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.util.Random; - -public class TestFileManagerActivity extends InstrumentationTestCase { - - private static final String TAG = "TestFileManagerActivity"; - - private Solo solo; - private Activity activity; - private Random random = new Random(); - private Intent intent; - private String sdcardPath; - - public TestFileManagerActivity() { - super(); - } - - protected void setUp() throws Exception { - super.setUp(); - - sdcardPath = Environment.getExternalStorageDirectory().getAbsolutePath() + '/'; - - // need to do this before creating activity - cleanDirectory(new File(sdcardPath + "oi-filemanager-tests")); - createDirectory(sdcardPath + "oi-filemanager-tests"); - - intent = new Intent(); - intent.setAction("android.intent.action.MAIN"); - intent.setClassName("org.openintents.filemanager", - "org.openintents.filemanager.FileManagerActivity"); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - activity = getInstrumentation().startActivitySync(intent); - - this.solo = new Solo(getInstrumentation(), activity); - } - - protected void tearDown() throws Exception { - try { - this.solo.finishOpenedActivities(); - } catch (Throwable e) { - e.printStackTrace(); - } - super.tearDown(); - cleanDirectory(new File(sdcardPath + "oi-filemanager-tests")); - } - - private String getAppString(int resId) { - return activity.getString(resId); - } -// -// @Smoke -// public void test000Eula() { -// String accept = getAppString(org.openintents.distribution.R.string.oi_distribution_eula_accept); -// String cancel = getAppString(org.openintents.distribution.R.string.oi_distribution_eula_refuse); -// boolean existsAccept = solo.searchButton(accept); -// boolean existsCancel = solo.searchButton(cancel); -// -// if (existsAccept && existsCancel) { -// solo.clickOnButton(accept); -// } -// } -// -// @Smoke -// public void test001RecentChanges() { -// String recentChanges = getAppString(org.openintents.distribution.R.string.oi_distribution_newversion_recent_changes); -// String cont = getAppString(org.openintents.distribution.R.string.oi_distribution_newversion_continue); -// while(solo.scrollUp()); -// boolean existsRecentChanges = solo.searchText(recentChanges); -// boolean existsCont = solo.searchButton(cont); -// -// if (existsRecentChanges && existsCont) { -// solo.clickOnButton(cont); -// } -// } - - private void cleanDirectory(File file) { - if (!file.exists()) return; - for (String name : file.list()) { - if (!name.startsWith("oi-") && !name.startsWith(".oi-")) { - throw new RuntimeException(file + " contains unexpected file"); - } - File child = new File(file, name); - if (child.isDirectory()) - cleanDirectory(child); - else - child.delete(); - } - file.delete(); - if (file.exists()) { - throw new RuntimeException("Deletion of " + file + " failed"); - } - } - - private void createFile(String path, String content) throws IOException { - File file = new File(path); - OutputStreamWriter wr = new OutputStreamWriter(new FileOutputStream(file), "UTF-8"); - wr.write(content); - wr.close(); - } - - private void createDirectory(String path) throws IOException { - File file = new File(path); - file.mkdir(); - if (!file.exists()) - throw new IOException("Creation of " + path + " failed"); - } - - private void deleteDirectory(String path) { - File file = new File(path); - if (file.exists()) - if (file.isDirectory()) - cleanDirectory(file); - file.delete(); - } - - public void testNavigation() throws IOException { -// if(solo.searchText("Accept")) { -// solo.clickOnButton("Accept"); -// if(solo.searchButton("Continue")) -// solo.clickOnButton("Continue"); -// } - createDirectory(sdcardPath + "oi-filemanager-tests"); - createFile(sdcardPath + "oi-filemanager-tests/oi-test.txt", ""); - createDirectory(sdcardPath + "oi-filemanager-tests/oi-test-dir"); - createFile(sdcardPath + "oi-filemanager-tests/oi-test-dir/oi-fff.txt", ""); - - solo.clickOnText("oi-filemanager-tests"); - assertTrue(solo.searchText("oi-test.txt")); - solo.clickOnText("oi-test-dir"); - assertTrue(solo.searchText("oi-fff.txt")); - - solo.goBack(); - solo.goBack(); - solo.clickOnText("oi-filemanager-tests"); - assertTrue(solo.searchText("oi-test.txt")); - - solo.clickOnText("oi-test-dir"); - solo.goBack(); - assertTrue(solo.searchText("oi-test.txt")); - - solo.goBack(); - } - - public void testModification() throws IOException { - createDirectory(sdcardPath + "oi-filemanager-tests"); - createFile(sdcardPath + "oi-filemanager-tests/oi-rem-test.txt", ""); - solo.clickOnText("oi-filemanager-tests"); - solo.clickLongOnText("oi-rem-test.txt"); - - if (android.os.Build.VERSION.SDK_INT < 11) - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_delete)); // Delete - else - solo.clickOnActionBarItem(org.openintents.filemanager.R.id.menu_delete); - solo.clickOnText(getAppString(android.R.string.ok)); - - if (android.os.Build.VERSION.SDK_INT < 11) - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.menu_create_folder), true); // New Folder - else - solo.clickOnActionBarItem(org.openintents.filemanager.R.id.menu_create_folder); - solo.enterText(0, "oi-created-folder"); - solo.clickOnText(getAppString(android.R.string.ok)); - - solo.goBack(); - assertTrue(solo.searchText("oi-created-folder")); - solo.goBack(); - - File createdFolder = new File(sdcardPath + "oi-filemanager-tests/oi-created-folder"); - assertTrue(createdFolder.exists()); - assertTrue(createdFolder.isDirectory()); - assertFalse(new File(sdcardPath + "oi-filemanager-tests/oi-rem-test.txt").exists()); - } - - public void testBookmarks() throws IOException { - String fn = "oi-bookmark-" + random.nextInt(1000); - createDirectory(sdcardPath + "oi-filemanager-tests"); - createDirectory(sdcardPath + "oi-filemanager-tests/" + fn); - createFile(sdcardPath + "oi-filemanager-tests/" + fn + "/oi-inside-book.txt", ""); - - // create bookmark - solo.clickOnText("oi-filemanager-tests"); - solo.clickLongOnText(fn); - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_bookmark)); // Add to bookmarks - - // navigate to it - if (android.os.Build.VERSION.SDK_INT < 11) - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.bookmarks)); // Bookmarks - else - solo.clickOnActionBarItem(org.openintents.filemanager.R.id.menu_bookmarks); - solo.clickOnText(fn); - assertTrue(solo.searchText("oi-inside-book.txt")); - - // remove it - if (android.os.Build.VERSION.SDK_INT < 11) - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.bookmarks)); // Bookmarks - else - solo.clickOnActionBarItem(org.openintents.filemanager.R.id.menu_bookmarks); - solo.clickLongOnText(fn); - if (android.os.Build.VERSION.SDK_INT < 11) - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_delete)); - else - solo.clickOnActionBarItem(org.openintents.filemanager.R.id.menu_delete); - solo.goBack(); - - // make sure that it is deleted - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.bookmarks)); - assertFalse(solo.searchText(fn)); - solo.goBack(); - solo.goBack(); - } - - public void testActions() throws IOException { - createDirectory(sdcardPath + "oi-filemanager-tests"); - createDirectory(sdcardPath + "oi-filemanager-tests/oi-move-target"); - createFile(sdcardPath + "oi-filemanager-tests/oi-file-1.txt", ""); - createFile(sdcardPath + "oi-filemanager-tests/oi-file-2.txt", ""); - createFile(sdcardPath + "oi-filemanager-tests/oi-file-3.txt", ""); - createFile(sdcardPath + "oi-filemanager-tests/oi-file-4.txt", ""); - createFile(sdcardPath + "oi-filemanager-tests/oi-file-5.txt", ""); - solo.clickOnText("oi-filemanager-tests"); - - // copy - solo.clickLongOnText("oi-file-1.txt"); - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_copy)); - navigateToTargetAndPasteAndCheck("oi-move-target", "oi-file-1.txt", null); - assertTrue(solo.searchText("oi-file-1.txt")); - - // move - solo.clickLongOnText("oi-file-2.txt"); - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_move)); - navigateToTargetAndPasteAndCheck("oi-move-target", "oi-file-2.txt", null); - assertFalse(solo.searchText("oi-file-2.txt")); - - // multi select - if (android.os.Build.VERSION.SDK_INT < 11) { - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.menu_multiselect)); - solo.clickOnText("oi-file-3.txt"); - solo.clickOnText("oi-file-4.txt"); - solo.clickOnImageButton(1); - solo.goBack(); - - navigateToTargetAndPasteAndCheck("oi-move-target", "oi-file-3.txt", "oi-file-4.txt"); - } - - // rename - solo.clickLongOnText("oi-file-5.txt"); - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_rename)); - solo.enterText(0, "oi-renamed-file.txt"); - solo.clickOnText(getAppString(android.R.string.ok)); // not sure what to do - assertTrue(solo.searchText("oi-renamed-file.txt")); - - solo.goBack(); - solo.goBack(); - } - - private void navigateToTargetAndPasteAndCheck(String dirname, String name1, String name2) throws IOException { - createDirectory(sdcardPath + "oi-filemanager-tests/"); - solo.clickOnText(dirname); - - if (android.os.Build.VERSION.SDK_INT < 11) - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.menu_paste), true); - else - solo.clickOnActionBarItem(org.openintents.filemanager.R.id.menu_paste); - - assertTrue(solo.searchText(name1)); - if (name2 != null) - assertTrue(solo.searchText(name2)); - solo.goBack(); - } - - public void testDetails() throws IOException { - createDirectory(sdcardPath + "oi-filemanager-tests"); - createFile(sdcardPath + "oi-filemanager-tests/oi-detail.txt", "abcdefg"); - - solo.clickOnText("oi-filemanager-tests"); - - solo.clickLongOnText("oi-detail.txt"); - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.menu_details)); - assertTrue(solo.searchText(getAppString(org.openintents.filemanager.R.string.details_type_file))); - // depending on locale: - assertTrue(solo.searchText("7.00B") || solo.searchText("7.00 B") || solo.searchText("7,00B") || solo.searchText("7,00 B")); - - // not sure: - //Calendar today = new GregorianCalendar(); - //String todayString = today.get(Calendar.DAY_OF_MONTH) + "/" + today.get(Calendar.MONTH) + "/" + today.get(Calendar.YEAR); - //assertTrue(solo.searchText(todayString)); - - solo.goBack(); - solo.goBack(); - solo.goBack(); - } - - public void testHiddenFiles() throws IOException { - createDirectory(sdcardPath + "oi-filemanager-tests"); - createFile(sdcardPath + "oi-filemanager-tests/.oi-hidden.txt", ""); - solo.clickOnText("oi-filemanager-tests"); - - boolean origState = solo.searchText(".oi-hidden.txt"); - - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.settings)); - - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.preference_displayhiddenfiles_title)); - solo.goBack(); - assertTrue(origState != solo.searchText(".oi-hidden.txt")); - - solo.goBack(); - solo.goBack(); - } - - public void testOrder() throws IOException, InterruptedException { - createDirectory(sdcardPath + "oi-filemanager-tests"); - createFile(sdcardPath + "oi-filemanager-tests/oi-b.txt", "bbb"); - Thread.sleep(10); // make sure that next file is younger - createFile(sdcardPath + "oi-filemanager-tests/oi-a.txt", "aaaaaa"); - Thread.sleep(10); - createFile(sdcardPath + "oi-filemanager-tests/oi-c.txt", ""); - solo.clickOnText("oi-filemanager-tests"); - - String[] sortOrders = activity.getResources().getStringArray(org.openintents.filemanager.R.array.preference_sortby_names); - - setAscending(true); - setSortOrder(sortOrders[0]); - assertItemsInOrder("oi-a.txt", "oi-b.txt", "oi-c.txt"); - - setSortOrder(sortOrders[1]); - assertItemsInOrder("oi-c.txt", "oi-b.txt", "oi-a.txt"); - - setSortOrder(sortOrders[2]); - assertItemsInOrder("oi-b.txt", "oi-a.txt", "oi-c.txt"); - - setAscending(false); - setSortOrder(sortOrders[0]); - assertItemsInOrder("oi-c.txt", "oi-b.txt", "oi-a.txt"); - } - - private void setSortOrder(String name) { - solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.settings)); - solo.clickOnText(getAppString(org.openintents.filemanager.R.string.preference_sortby)); - solo.clickOnText(name); - solo.goBack(); - } - - private void setAscending(boolean enabled) { - SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(activity); - SharedPreferences.Editor editor = settings.edit(); - editor.putBoolean("ascending", enabled); - editor.commit(); - } - - private void assertItemsInOrder(String a, String b, String c) { - int aPos = solo.getText(a).getTop(); - int bPos = solo.getText(b).getTop(); - int cPos = solo.getText(c).getTop(); - if (aPos > bPos) - fail("aPos > bPos"); - if (bPos > cPos) - fail("bpos > cPos"); - } - - public void testIntentSaveAs() throws IOException { - createDirectory(sdcardPath + "oi-filemanager-tests"); - createFile(sdcardPath + "oi-filemanager-tests/oi-to-open.txt", "bbb"); - - Uri uri = Uri.parse("file://" + sdcardPath + "oi-filemanager-tests/oi-to-open.txt"); - intent = new Intent("android.intent.action.VIEW", uri); - intent.setClassName("org.openintents.filemanager", - "org.openintents.filemanager.SaveAsActivity"); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - activity = getInstrumentation().startActivitySync(intent); - - solo.clickLongOnText(Environment.getExternalStorageDirectory().getParentFile().getName()); - solo.enterText(0, "oi-target.txt"); - solo.sendKey(Solo.ENTER); - assertTrue(new File(sdcardPath + "oi-filemanager-tests/oi-to-open.txtoi-target.txt").exists()); - solo.goBack(); - solo.goBack(); - } - - public void testIntentUrl() throws IOException { - createDirectory(sdcardPath + "oi-filemanager-tests"); - createDirectory(sdcardPath + "oi-filemanager-tests/oi-dir-to-open"); - createDirectory(sdcardPath + "oi-filemanager-tests/oi-dir-to-open/oi-intent"); - - Uri uri = Uri.parse("file://" + sdcardPath + "oi-filemanager-tests/oi-dir-to-open"); - intent = new Intent("android.intent.action.VIEW", uri); - intent.setClassName("org.openintents.filemanager", - "org.openintents.filemanager.FileManagerActivity"); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - activity = getInstrumentation().startActivitySync(intent); - - assertTrue(solo.searchText("oi-intent")); - solo.goBack(); - solo.goBack(); - } - - public void testIntentPickFile() throws IOException { - // startActivityForResult is, I think, impossible to test on Robotinium - createDirectory(sdcardPath + "oi-filemanager-tests"); - createFile(sdcardPath + "oi-filemanager-tests/oi-pick-file", ""); - - Uri uri = Uri.parse("file://" + sdcardPath + "oi-filemanager-tests"); - intent = new Intent("org.openintents.action.PICK_FILE", uri); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - activity = getInstrumentation().startActivitySync(intent); - - solo.clickOnText("oi-pick-file"); - - solo.goBack(); - } - - public void testIntentRememberPickFilePath() throws IOException { - String[] actions = new String[]{ - org.openintents.intents.FileManagerIntents.ACTION_PICK_FILE, - org.openintents.intents.FileManagerIntents.ACTION_PICK_DIRECTORY, - Intent.ACTION_GET_CONTENT - }; - - for (int i = 0; i < 3; i++) { - createDirectory(sdcardPath + "oi-filemanager-tests"); - if (i == 1) { //Pick directory - createDirectory(sdcardPath + "oi-filemanager-tests/oi-dir-to-pick"); - } else { - createFile(sdcardPath + "oi-filemanager-tests/oi-file-to-pick.txt", "bbb"); - } - //Directory because PICK_DIRECTORY doesn't show files - createDirectory(sdcardPath + "oi-to-pick-test-folder-deleted"); - - - // Pick a file first - Uri uri = Uri.parse("file://" + sdcardPath); //If there was already a remembered pick file path - intent = new Intent(actions[i], uri); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - activity = getInstrumentation().startActivitySync(intent); - - solo.clickOnText("oi-filemanager-tests"); - if (i == 1) //Pick directory - solo.clickOnText("oi-dir-to-pick"); - else - solo.clickOnText("oi-file-to-pick.txt"); - - if (i == 2) // When ACTION_GET_CONTENT, the file is picked automatically, when clicked - solo.clickOnButton(getAppString(org.openintents.filemanager.R.string.directory_pick)); - - // Check, if we are in the oi-filemanager-tests directory - intent = new Intent(actions[i]); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - activity = getInstrumentation().startActivitySync(intent); - - solo.goBack(); - - - //Delete the oi-filemanager-tests directory - deleteDirectory(sdcardPath + "oi-filemanager-tests"); - - //Check, if the current directory is the default (sdcardPath) - intent = new Intent(actions[i]); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - activity = getInstrumentation().startActivitySync(intent); - - assertTrue(solo.searchText("oi-to-pick-test-folder-deleted")); - - //Clean up - (new File(sdcardPath + "oi-to-pick-test-folder-deleted")).delete(); - - solo.goBack(); - solo.goBack(); - } - } - - public void testBrowseToOnPressEnter() throws IOException { - String dirPath = "oi-filemanager-tests"; - String filename = "oi-test-is-in-right-directory"; - createDirectory(sdcardPath + dirPath); - createFile(sdcardPath + dirPath + "/" + filename, ""); - - /* - * We start at the SD card. - */ - solo.clickLongOnText(Environment.getExternalStorageDirectory().getParentFile().getName()); - - solo.clickOnEditText(0); // Let the editText have focus to be able to send the enter key. - solo.enterText(0, "/" + dirPath); - solo.sendKey(Solo.ENTER); - - assertTrue(solo.searchText(filename)); - - solo.goBack(); - solo.goBack(); - } - -// Current implementation directly opens the file and therefore can't be tested. -// public void testIntentUri() throws IOException { -// createDirectory(sdcardPath + "oi-filemanager-tests"); -// createFile(sdcardPath + "oi-filemanager-tests/oi-to-open.txt", "bbb"); -// -// Intent intent = new Intent(Intent.ACTION_VIEW); -// intent.setData(Uri.parse("file://" + sdcardPath + "oi-filemanager-tests/oi-to-open.txt")); -// intent.setClass(activity, org.openintents.filemanager.FileManagerActivity.class); -// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); -// -// activity = getInstrumentation().startActivitySync(intent); -// -// assertTrue(solo.searchText("oi-to-open.txt")); -// solo.goBack(); -// solo.goBack(); -// } - -// Removed as Filter action is obsolete and removed. -// public void testFilters() throws IOException { -// createDirectory(sdcardPath + "oi-filemanager-tests"); -// createFile(sdcardPath + "oi-filemanager-tests/oi-not-filter.txt", ""); -// createFile(sdcardPath + "oi-filemanager-tests/oi-filtered.py", ""); -// createDirectory(sdcardPath + "oi-filemanager-tests/oi-f-dir"); -// solo.clickOnText("oi-filemanager-tests"); -// -// solo.clickOnMenuItem(getAppString(org.openintents.filemanager.R.string.menu_filter)); -// solo.enterText(0, ".py"); -// solo.clickOnButton(getAppString(android.R.string.ok)); -// -// assertTrue(solo.searchText("oi-filtered.py")); -// assertTrue(solo.searchText("oi-f-dir")); -// assertFalse(solo.searchText("oi-not-filter.txt")); -// -// solo.goBack(); -// solo.goBack(); -// } - - // Other possible tests: - // testSend - // testMore - // testKeyboardFilter -} \ No newline at end of file diff --git a/build.gradle b/build.gradle index e7b3262b..3528e99e 100644 --- a/build.gradle +++ b/build.gradle @@ -5,19 +5,17 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0' + classpath 'com.android.tools.build:gradle:3.3.1' } } allprojects { repositories { + google() jcenter() maven { url 'https://jitpack.io' } - maven { - url "https://maven.google.com" - } } apply plugin: 'findbugs' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3cf9c1af..0ba46975 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Mar 29 20:52:18 CEST 2017 +#Wed Feb 13 09:23:13 CET 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip diff --git a/settings.gradle b/settings.gradle index 32a2e9a1..768e0e2c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1 @@ -include 'FileManager' \ No newline at end of file +include 'FileManager', 'FileManagerDemo' \ No newline at end of file