Catch filenotfoundexception, add build variant for debug
This commit is contained in:
parent
e0ce7284c8
commit
ccadaac718
1
.gitignore
vendored
1
.gitignore
vendored
@ -14,5 +14,6 @@
|
||||
.cxx
|
||||
.idea
|
||||
app/release
|
||||
app/debug
|
||||
app/lint
|
||||
lint
|
||||
|
@ -36,6 +36,7 @@ android {
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/java'
|
||||
test.java.srcDirs += 'src/test/java'
|
||||
staging.res.srcDirs += 'src/debug/res'
|
||||
androidTest.java.srcDirs += 'src/androidTest/java'
|
||||
}
|
||||
testBuildType "staging"
|
||||
@ -44,7 +45,8 @@ android {
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
|
||||
applicationIdSuffix '.debug'
|
||||
versionNameSuffix "-debug"
|
||||
}
|
||||
staging {
|
||||
initWith debug
|
||||
@ -74,6 +76,7 @@ android {
|
||||
proguardFiles 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
|
||||
testOptions {
|
||||
animationsDisabled true
|
||||
|
||||
@ -86,14 +89,23 @@ android {
|
||||
apply plugin: 'kotlin-kapt'
|
||||
}
|
||||
|
||||
afterEvaluate {
|
||||
/**
|
||||
* Make a string with the application_id (available in xml etc)
|
||||
*/
|
||||
android.applicationVariants.all { variant ->
|
||||
variant.resValue 'string', 'application_id', variant.applicationId
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
|
||||
/**
|
||||
* AndroidX dependencies:
|
||||
*/
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'androidx.core:core-ktx:1.3.2'
|
||||
implementation 'androidx.appcompat:appcompat:1.3.0'
|
||||
implementation 'androidx.core:core-ktx:1.5.0'
|
||||
implementation 'androidx.preference:preference-ktx:1.1.1'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
|
||||
@ -111,7 +123,7 @@ dependencies {
|
||||
implementation "androidx.annotation:annotation:1.2.0"
|
||||
implementation 'androidx.gridlayout:gridlayout:1.0.0'
|
||||
implementation "androidx.activity:activity-ktx:1.2.3"
|
||||
implementation 'androidx.fragment:fragment-ktx:1.3.3'
|
||||
implementation 'androidx.fragment:fragment-ktx:1.3.4'
|
||||
|
||||
// Use the most recent version of CameraX
|
||||
def cameraX_version = '1.0.0'
|
||||
@ -191,7 +203,7 @@ dependencies {
|
||||
|
||||
// debugImplementation required vs testImplementation: https://issuetracker.google.com/issues/128612536
|
||||
//noinspection FragmentGradleConfiguration
|
||||
stagingImplementation("androidx.fragment:fragment-testing:1.3.3") {
|
||||
stagingImplementation("androidx.fragment:fragment-testing:1.3.4") {
|
||||
exclude group:'androidx.test', module:'monitor'
|
||||
}
|
||||
|
||||
|
38
app/src/debug/res/drawable-v24/ic_launcher_foreground.xml
Normal file
38
app/src/debug/res/drawable-v24/ic_launcher_foreground.xml
Normal file
@ -0,0 +1,38 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<path
|
||||
android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startY="49.59793"
|
||||
android:startX="42.9492"
|
||||
android:endY="92.4963"
|
||||
android:endX="85.84757"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="#44000000"
|
||||
android:offset="0.0" />
|
||||
<item
|
||||
android:color="#00000000"
|
||||
android:offset="1.0" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<group
|
||||
android:name="foo"
|
||||
android:scaleX="2"
|
||||
android:scaleY="2"
|
||||
android:translateY="0"
|
||||
android:translateX="0">
|
||||
<path
|
||||
android:pathData="M23.0332,30.2725L27.5781,30.2725C31.8595,30.2725 35.3302,26.9088 35.3302,22.7596C35.3302,18.6103 31.8595,15.2467 27.5781,15.2467L21.0185,15.2467C18.5485,15.2467 16.5461,17.1872 16.5461,19.581L16.5461,36.451L23.0332,30.2725Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#FFFFFF"
|
||||
android:fillType="nonZero"
|
||||
android:strokeColor="#00000000"/>
|
||||
</group>
|
||||
</vector>
|
74
app/src/debug/res/drawable/ic_launcher_background.xml
Normal file
74
app/src/debug/res/drawable/ic_launcher_background.xml
Normal file
@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector
|
||||
android:height="108dp"
|
||||
android:width="108dp"
|
||||
android:viewportHeight="108"
|
||||
android:viewportWidth="108"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#3DDC84"
|
||||
android:pathData="M0,0h108v108h-108z"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
|
||||
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
|
||||
</vector>
|
5
app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
5
app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
@ -127,7 +127,7 @@
|
||||
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="org.pixeldroid.app.fileprovider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
@ -39,6 +39,7 @@ import io.reactivex.schedulers.Schedulers
|
||||
import okhttp3.MultipartBody
|
||||
import retrofit2.HttpException
|
||||
import java.io.File
|
||||
import java.io.FileNotFoundException
|
||||
import java.io.IOException
|
||||
import java.io.OutputStream
|
||||
import java.text.SimpleDateFormat
|
||||
@ -313,7 +314,16 @@ class PostCreationActivity : BaseActivity() {
|
||||
|
||||
for (data: PhotoData in photoData) {
|
||||
val imageUri = data.imageUri
|
||||
val imageInputStream = contentResolver.openInputStream(imageUri)!!
|
||||
val imageInputStream = try {
|
||||
contentResolver.openInputStream(imageUri)!!
|
||||
} catch (e: FileNotFoundException){
|
||||
AlertDialog.Builder(this).apply {
|
||||
setMessage(getString(R.string.file_not_found).format(imageUri))
|
||||
|
||||
setNegativeButton(android.R.string.ok) { _, _ -> }
|
||||
}.show()
|
||||
return
|
||||
}
|
||||
|
||||
val imagePart = ProgressRequestBody(imageInputStream, data.size)
|
||||
val requestBody = MultipartBody.Builder()
|
||||
|
@ -1,7 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Name of the app. In most languages you won't want to change this. -->
|
||||
<string name="app_name">PixelDroid</string>
|
||||
|
||||
<!-- Button to go to the user's profile -->
|
||||
<string name="menu_account">My Profile</string>
|
||||
|
||||
<!-- Button to go to the settings -->
|
||||
<string name="menu_settings">Settings</string>
|
||||
<string name="invalid_domain">"Invalid domain"</string>
|
||||
<string name="registration_failed">"Could not register the application with this server"</string>
|
||||
@ -14,16 +19,35 @@
|
||||
<string name="instance_not_pixelfed_continue">"OK, continue anyway"</string>
|
||||
<string name="instance_not_pixelfed_cancel">"Cancel logging in"</string>
|
||||
<string name="title_activity_settings2">Settings</string>
|
||||
<!-- Theme Preferences -->
|
||||
|
||||
<!-- Theme Preferences: title of button -->
|
||||
<string name="theme_title">Application Theme</string>
|
||||
|
||||
<!-- Theme Preferences: title of the settings section dedicated to themes -->
|
||||
<string name="theme_header">Theme</string>
|
||||
|
||||
<!-- Theme Preferences: default option (follow the system theme) -->
|
||||
<string name="default_system">Default (Follows system)</string>
|
||||
|
||||
<!-- Theme Preferences: light theme option -->
|
||||
<string name="light_theme">Light</string>
|
||||
|
||||
<!-- Theme Preferences: dark theme option -->
|
||||
<string name="dark_theme">Dark</string>
|
||||
|
||||
<!-- Notifications: follow notification -->
|
||||
<string name="followed_notification">%1$s followed you</string>
|
||||
|
||||
<!-- Notifications: mention (@) notification -->
|
||||
<string name="mention_notification">%1$s mentioned you</string>
|
||||
|
||||
<!-- Notifications: share (boost) notification -->
|
||||
<string name="shared_notification">%1$s shared your post</string>
|
||||
|
||||
<!-- Notifications: like (favourite) notification -->
|
||||
<string name="liked_notification">%1$s liked your post</string>
|
||||
|
||||
<!-- Notifications: end of poll notification -->
|
||||
<string name="poll_notification">"%1$s's poll has ended"</string>
|
||||
|
||||
<!-- Login page -->
|
||||
@ -201,4 +225,7 @@ For more info about Pixelfed, you can check here: https://pixelfed.org"</string>
|
||||
<string name="mascot_description">Image showing a red panda, Pixelfed\'s mascot, using a phone</string>
|
||||
<string name="delete_post_failed_error">Could not delete the post, error %1$d</string>
|
||||
<string name="delete_post_failed_io_except">Could not delete the post, check your connection?</string>
|
||||
|
||||
<!-- Error message when a selected file can not be found -->
|
||||
<string name="file_not_found">File %1$s was not found</string>
|
||||
</resources>
|
@ -26,7 +26,7 @@
|
||||
android:summary="@string/about_pixeldroid"
|
||||
app:icon="@drawable/info_black_24dp">
|
||||
<intent
|
||||
android:targetPackage="org.pixeldroid.app"
|
||||
android:targetPackage="@string/application_id"
|
||||
android:targetClass="org.pixeldroid.app.settings.AboutActivity"/>
|
||||
</Preference>
|
||||
</PreferenceScreen>
|
||||
|
Loading…
x
Reference in New Issue
Block a user