Skip to content
This repository was archived by the owner on Mar 18, 2023. It is now read-only.

Commit ebeba64

Browse files
committed
Updating to v20 -- Changes to required permissions and the Android minSDK (now >= 26) to support more devices
1 parent fb0795e commit ebeba64

File tree

9 files changed

+83
-42
lines changed

9 files changed

+83
-42
lines changed

AndroidFilePickerLightLibrary/build.gradle

Lines changed: 55 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,50 @@ import java.text.DateFormat
44
import java.text.SimpleDateFormat
55

66
def getDateTimestamp() {
7-
DateFormat df = new SimpleDateFormat("YYYY-MM-dd-HHmmss");
8-
return new String(df.format(new Date()).toString());
7+
8+
DateFormat df = new SimpleDateFormat("YYYY-MM-dd-HHmmss")
9+
return new String(df.format(new Date()).toString())
10+
911
}
1012

1113
def getShellCommandOutput(String shellCmd) {
12-
def cmdResult = ['bash', '-c', shellCmd].execute();
13-
cmdResult.waitFor();
14-
return cmdResult.text[0..-2];
14+
15+
def cmdResult = ['bash', '-c', shellCmd].execute()
16+
cmdResult.waitFor()
17+
return cmdResult.text[0..-2]
18+
1519
}
1620

1721
def getGitCommitHash() {
18-
return getShellCommandOutput("git show | head -n 1 | sed -e \"s/commit //\" | cut -c-12");
22+
23+
return getShellCommandOutput("git show | head -n 1 | sed -e \"s/commit //\" | cut -c-12")
24+
1925
}
2026

2127
def getGitCommitDate() {
22-
return getShellCommandOutput("git show | grep Date: | head -n 1 | sed -e \"s/Date:[ ]*//\"");
28+
29+
return getShellCommandOutput("git show | grep Date: | head -n 1 | sed -e \"s/Date:[ ]*//\"")
30+
2331
}
2432

2533
android {
2634

27-
compileSdkVersion 30
28-
buildToolsVersion "30.0.1"
29-
3035
defaultConfig {
31-
minSdkVersion 29
36+
37+
minSdkVersion 26
3238
targetSdkVersion 30
33-
versionCode 18
34-
versionName "1.1.7"
39+
compileSdkVersion 31
40+
versionCode 20
41+
versionName "1.1.9"
42+
buildToolsVersion "30.0.1"
43+
3544
}
3645

3746
compileOptions {
47+
3848
sourceCompatibility JavaVersion.VERSION_1_8
3949
targetCompatibility JavaVersion.VERSION_1_8
50+
4051
}
4152

4253
buildTypes {
@@ -45,6 +56,29 @@ android {
4556

4657
minifyEnabled false
4758

59+
buildConfigField "long", "VERSION_CODE", "${android.defaultConfig.versionCode}"
60+
buildConfigField "String", "VERSION_NAME", "\"${android.defaultConfig.versionName}\""
61+
62+
buildConfigField "String", "BUILD_TIMESTAMP", "\"" + getDateTimestamp() + "\""
63+
buildConfigField "String", "GIT_COMMIT_HASH", "\"" + getGitCommitHash() + "\""
64+
buildConfigField "String", "GIT_COMMIT_DATE", "\"" + getGitCommitDate() + "\""
65+
66+
manifestPlaceholders = [
67+
libraryIcon : "@mipmap/library_profile_icon_round",
68+
libraryTheme : "@style/LibraryDefaultTheme",
69+
libraryDebug : "false",
70+
libraryInstallLocation : "preferExternal"
71+
]
72+
73+
}
74+
75+
debug {
76+
77+
minifyEnabled false
78+
79+
buildConfigField "long", "VERSION_CODE", "${android.defaultConfig.versionCode}"
80+
buildConfigField "String", "VERSION_NAME", "\"${android.defaultConfig.versionName}\""
81+
4882
buildConfigField "String", "BUILD_TIMESTAMP", "\"" + getDateTimestamp() + "\""
4983
buildConfigField "String", "GIT_COMMIT_HASH", "\"" + getGitCommitHash() + "\""
5084
buildConfigField "String", "GIT_COMMIT_DATE", "\"" + getGitCommitDate() + "\""
@@ -55,23 +89,30 @@ android {
5589
libraryDebug : "false",
5690
libraryInstallLocation : "preferExternal"
5791
]
92+
5893
}
5994

6095
}
6196

6297
}
6398

6499
repositories {
100+
65101
maven {
102+
66103
url "https://maven.google.com"
67104
name 'Google'
105+
68106
}
107+
69108
}
70109

71110
dependencies {
111+
72112
implementation fileTree(dir: "libs", include: ["*.jar"])
73-
implementation 'androidx.appcompat:appcompat:1.2.0'
113+
implementation 'androidx.appcompat:appcompat:1.4.2'
74114
implementation 'com.android.support:recyclerview-v7:30.0.0'
75115
implementation 'org.apache.commons:commons-text:1.7'
76116
implementation 'pub.devrel:easypermissions:3.0.0'
117+
77118
}

AndroidFilePickerLightLibrary/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121

2222
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:required="true" />
2323
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:required="true" />
24-
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" android:required="false" />
24+
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION" android:required="true" />
2525
<!--<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" android:required="false" />-->
26-
<uses-permission android:name="android.permission.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION" android:required="false" />
26+
<!--<uses-permission android:name="android.permission.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION" android:required="false" />-->
2727
<uses-permission android:name="android.permission.INTERNET" android:required="false" />
2828

2929
<application

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/BasicFileProvider.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ This program (the AndroidFilePickerLight library) is free software written by
1717

1818
package com.maxieds.androidfilepickerlightlibrary;
1919

20+
import static java.util.Locale.ROOT;
21+
2022
import android.content.Context;
2123
import android.content.res.AssetFileDescriptor;
2224
import android.database.Cursor;
@@ -32,29 +34,22 @@ This program (the AndroidFilePickerLight library) is free software written by
3234
import android.util.Log;
3335
import android.webkit.MimeTypeMap;
3436

35-
import androidx.core.content.FileProvider;
36-
3737
import org.apache.commons.lang3.ArrayUtils;
3838

3939
import java.io.File;
4040
import java.io.FileDescriptor;
4141
import java.io.FileInputStream;
4242
import java.io.FileNotFoundException;
4343
import java.io.IOException;
44-
import java.nio.ByteBuffer;
45-
import java.util.ArrayList;
4644
import java.util.Arrays;
4745
import java.util.Collections;
4846
import java.util.Comparator;
4947
import java.util.HashSet;
5048
import java.util.LinkedList;
51-
import java.util.List;
5249
import java.util.Locale;
5350
import java.util.PriorityQueue;
5451
import java.util.Set;
5552

56-
import static java.util.Locale.ROOT;
57-
5853
/*
5954
* Adapted from the source at:
6055
* https://github.com/android/storage-samples/tree/main/StorageProvider

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/CustomThemeBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ This program (the AndroidFilePickerLight library) is free software written by
2323
import android.graphics.Typeface;
2424
import android.graphics.drawable.Drawable;
2525
import android.graphics.drawable.GradientDrawable;
26-
import android.util.Log;
2726
import android.util.TypedValue;
2827
import android.view.View;
2928
import android.view.Window;
@@ -33,11 +32,11 @@ This program (the AndroidFilePickerLight library) is free software written by
3332
import android.widget.ImageView;
3433
import android.widget.LinearLayout;
3534
import android.widget.TextView;
36-
import androidx.appcompat.widget.Toolbar;
3735

3836
import androidx.annotation.ColorRes;
3937
import androidx.annotation.DrawableRes;
4038
import androidx.annotation.StringRes;
39+
import androidx.appcompat.widget.Toolbar;
4140
import androidx.core.graphics.ColorUtils;
4241

4342
import java.util.HashMap;

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/DisplayUtils.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,7 @@ This program (the AndroidFilePickerLight library) is free software written by
1919

2020
import android.app.Activity;
2121
import android.graphics.Color;
22-
import android.graphics.LinearGradient;
2322
import android.graphics.PorterDuff;
24-
import android.graphics.RadialGradient;
25-
import android.graphics.Shader;
26-
import android.graphics.SweepGradient;
2723
import android.graphics.Typeface;
2824
import android.graphics.drawable.Drawable;
2925
import android.graphics.drawable.GradientDrawable;
@@ -37,7 +33,6 @@ This program (the AndroidFilePickerLight library) is free software written by
3733
import android.widget.TextView;
3834
import android.widget.Toast;
3935

40-
import androidx.annotation.ColorInt;
4136
import androidx.annotation.ColorRes;
4237
import androidx.annotation.DrawableRes;
4338
import androidx.annotation.StringRes;

AndroidFilePickerLightLibrary/src/main/java/com/maxieds/androidfilepickerlightlibrary/FileChooserActivity.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ This program (the AndroidFilePickerLight library) is free software written by
2020
import android.app.Activity;
2121
import android.content.Intent;
2222
import android.content.pm.ActivityInfo;
23-
import android.graphics.drawable.GradientDrawable;
2423
import android.os.Bundle;
2524
import android.os.Handler;
2625
import android.util.Log;
@@ -31,10 +30,8 @@ This program (the AndroidFilePickerLight library) is free software written by
3130
import android.widget.LinearLayout;
3231
import android.widget.TextView;
3332

34-
import androidx.appcompat.widget.Toolbar;
35-
36-
import androidx.annotation.ColorInt;
3733
import androidx.appcompat.app.AppCompatActivity;
34+
import androidx.appcompat.widget.Toolbar;
3835

3936
import java.util.ArrayList;
4037
import java.util.Arrays;
@@ -334,7 +331,7 @@ public void onNewIntent(Intent broadcastIntent) {
334331

335332
public static final String[] ACTIVITY_OPTIONAL_PERMISSIONS = {
336333
"android.permission.INTERNET",
337-
"android.permission.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION",
334+
//"android.permission.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION",
338335
//"android.permission.MANAGE_EXTERNAL_STORAGE",
339336
};
340337

app/build.gradle

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,47 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 30
5-
buildToolsVersion "30.0.0"
64

75
defaultConfig {
6+
87
applicationId "com.maxieds.androidfilepickerlight"
9-
minSdkVersion 29
8+
minSdkVersion 26
109
targetSdkVersion 30
11-
versionCode 1
10+
compileSdkVersion 31
11+
versionCode 2
1212
versionName "1.0"
13-
1413
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
14+
1515
}
1616

1717
compileOptions {
18+
1819
sourceCompatibility JavaVersion.VERSION_1_8
1920
targetCompatibility JavaVersion.VERSION_1_8
21+
2022
}
2123

2224
buildTypes {
25+
2326
release {
27+
28+
minifyEnabled false
29+
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
30+
31+
}
32+
33+
debug {
34+
2435
minifyEnabled false
2536
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
37+
2638
}
39+
2740
}
2841
}
2942

3043
dependencies {
44+
3145
implementation fileTree(dir: "libs", include: ["*.jar"])
3246
implementation 'com.google.android.material:material:1.2.1'
3347
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ buildscript {
55
jcenter()
66
}
77
dependencies {
8-
classpath "com.android.tools.build:gradle:4.0.0"
8+
classpath 'com.android.tools.build:gradle:7.1.2'
99

1010
// NOTE: Do not place your application dependencies here; they belong
1111
// in the individual module build.gradle files

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip

0 commit comments

Comments
 (0)