diff --git a/app/build.gradle b/app/build.gradle
index 57f0b009..d1caac40 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -32,8 +32,8 @@ android {
applicationId "com.fastaccess.github"
minSdkVersion 21
targetSdkVersion 25
- versionCode 195
- versionName "1.9.5"
+ versionCode 200
+ versionName "2.0.0"
signingConfig signingConfigs.signing
buildConfigString "GITHUB_CLIENT_ID", (buildProperties.secrets['github_client_id'] | buildProperties.notThere['github_client_id']).string
buildConfigString "GITHUB_SECRET", (buildProperties.secrets['github_secret'] | buildProperties.notThere['github_secret']).string
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index fd29657b..8b59d628 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -229,11 +229,17 @@
+
+
+
+
+
diff --git a/app/src/main/java/com/fastaccess/helper/Bundler.java b/app/src/main/java/com/fastaccess/helper/Bundler.java
index d082c304..8f682783 100644
--- a/app/src/main/java/com/fastaccess/helper/Bundler.java
+++ b/app/src/main/java/com/fastaccess/helper/Bundler.java
@@ -194,7 +194,7 @@ public class Bundler {
bundle.writeToParcel(parcel, 0);
int size = parcel.dataSize();
Logger.e(size);
- if (size > 800000) {
+ if (size > 500000) {
bundle.clear();
}
return get();
diff --git a/app/src/main/java/com/fastaccess/helper/FileHelper.java b/app/src/main/java/com/fastaccess/helper/FileHelper.java
index 7451b431..c1b47d66 100644
--- a/app/src/main/java/com/fastaccess/helper/FileHelper.java
+++ b/app/src/main/java/com/fastaccess/helper/FileHelper.java
@@ -17,20 +17,21 @@ public class FileHelper {
@Nullable public static String getPath(@NonNull Context context, @NonNull Uri uri) {
String filePath = null;
- String wholeID = DocumentsContract.getDocumentId(uri);
- String id = wholeID.split(":")[1];
- String[] column = {MediaStore.Images.Media.DATA};
- String sel = MediaStore.Images.Media._ID + "=?";
- try (Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
- column, sel, new String[]{id}, null)) {
- if (cursor != null) {
- int columnIndex = cursor.getColumnIndex(column[0]);
- if (cursor.moveToFirst()) {
- filePath = cursor.getString(columnIndex);
+ try {
+ String wholeID = DocumentsContract.getDocumentId(uri);
+ String id = wholeID.split(":")[1];
+ String[] column = {MediaStore.Images.Media.DATA};
+ String sel = MediaStore.Images.Media._ID + "=?";
+ try (Cursor cursor = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
+ column, sel, new String[]{id}, null)) {
+ if (cursor != null) {
+ int columnIndex = cursor.getColumnIndex(column[0]);
+ if (cursor.moveToFirst()) {
+ filePath = cursor.getString(columnIndex);
+ }
}
}
- }
- Logger.e(filePath);
+ } catch (Exception ignored) {}
return filePath;
}
diff --git a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
index 217df5f5..ceeda81a 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/RestProvider.java
@@ -23,7 +23,6 @@ import com.fastaccess.data.service.SearchService;
import com.fastaccess.data.service.SlackService;
import com.fastaccess.data.service.UserRestService;
import com.fastaccess.helper.InputHelper;
-import com.fastaccess.helper.Logger;
import com.fastaccess.helper.PrefGetter;
import com.fastaccess.provider.rest.converters.GithubResponseConverter;
import com.fastaccess.provider.rest.interceptors.AuthenticationInterceptor;
@@ -88,7 +87,6 @@ public class RestProvider {
Request request = requestBuilder.build();
return chain.proceed(request);
}
- Logger.e(original.url());
return chain.proceed(original);
});
return client.build();
diff --git a/app/src/main/java/com/fastaccess/provider/rest/converters/GithubResponseConverter.java b/app/src/main/java/com/fastaccess/provider/rest/converters/GithubResponseConverter.java
index c05fc7eb..4791f7d6 100644
--- a/app/src/main/java/com/fastaccess/provider/rest/converters/GithubResponseConverter.java
+++ b/app/src/main/java/com/fastaccess/provider/rest/converters/GithubResponseConverter.java
@@ -1,18 +1,26 @@
package com.fastaccess.provider.rest.converters;
+import android.support.annotation.Nullable;
+
import com.google.gson.Gson;
import java.io.IOException;
+import java.io.Reader;
+import java.io.StringWriter;
+import java.io.Writer;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import lombok.AllArgsConstructor;
+import lombok.NonNull;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import retrofit2.Converter;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
+import static com.nostra13.universalimageloader.utils.IoUtils.DEFAULT_BUFFER_SIZE;
+
/**
* call that supports String & Gson and always uses json as its request body
*/
@@ -27,15 +35,50 @@ public class GithubResponseConverter extends Converter.Factory {
return GsonConverterFactory.create(gson).responseBodyConverter(type, annotations, retrofit);
}
- @Override
- public Converter, RequestBody> requestBodyConverter(Type type, Annotation[] parameterAnnotations, Annotation[] methodAnnotations, Retrofit
- retrofit) {
+ @Override public Converter, RequestBody> requestBodyConverter(Type type, Annotation[] parameterAnnotations,
+ Annotation[] methodAnnotations, Retrofit retrofit) {
return GsonConverterFactory.create(gson).requestBodyConverter(type, parameterAnnotations, methodAnnotations, retrofit);
}
private static class StringResponseConverter implements Converter {
@Override public String convert(ResponseBody value) throws IOException {
- return value.string();
+ try {
+ return value.string();
+ } catch (OutOfMemoryError ignored) {
+ return getString(value.charStream());
+ }
}
+
+ @NonNull private String getString(@Nullable Reader reader) {
+ if (reader == null) return "";
+ StringWriter sw = new StringWriter();
+ try {
+ copy(reader, sw);
+ return sw.toString();
+ } catch (Exception ignored) {
+ return "";
+ }
+ }
+
+ private int copy(Reader input, Writer output) throws IOException {
+ long count = copyLarge(input, output);
+ if (count > Integer.MAX_VALUE) {
+ return -1;
+ }
+ return (int) count;
+ }
+
+
+ private long copyLarge(Reader input, Writer output) throws IOException {
+ char[] buffer = new char[DEFAULT_BUFFER_SIZE];
+ long count = 0;
+ int n = 0;
+ while (-1 != (n = input.read(buffer))) {
+ output.write(buffer, 0, n);
+ count += n;
+ }
+ return count;
+ }
+
}
}
diff --git a/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java b/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java
index 12cead38..c68c6ae1 100644
--- a/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java
+++ b/app/src/main/java/com/fastaccess/provider/tasks/notification/NotificationSchedulerJobTask.java
@@ -51,7 +51,11 @@ public class NotificationSchedulerJobTask extends JobService {
finishJob(job);
return true;
}
- if (Login.getUser() != null) {
+ Login login = null;
+ try {
+ login = Login.getUser();
+ } catch (Exception ignored) {}
+ if (login != null) {
RestProvider.getNotificationService()
.getNotifications(ParseDateFormat.getLastWeekDate())
.subscribeOn(Schedulers.io())
diff --git a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java
index f95aebaf..ddd5efbc 100644
--- a/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java
+++ b/app/src/main/java/com/fastaccess/ui/modules/editor/EditorActivity.java
@@ -124,8 +124,8 @@ public class EditorActivity extends BaseActivity AnimHelper.revealDialog(progressDialog,
- getResources().getInteger(android.R.integer.config_shortAnimTime)));
+ progressDialog.setOnShowListener(dialogInterface -> AnimHelper.revealDialog(progressDialog, 200));
}
return progressDialog;
}
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3e5782bd..333f5975 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -395,4 +395,5 @@
Would you like to join FastHub Slack group?\nInvitation link will be sent to %s.
Successfully invited
Reply
+ Failed to load image.
\ No newline at end of file