From 00fee401282275eaeef99ea33a6becf1acb86205 Mon Sep 17 00:00:00 2001 From: tom79 Date: Tue, 22 Oct 2019 16:59:31 +0200 Subject: fix issue --- .../android/activities/MainApplication.java | 12 +++++-- .../main/java/app/fedilab/android/client/API.java | 40 +++++----------------- .../fedilab/android/drawers/StatusListAdapter.java | 2 +- .../android/fragments/ContentSettingsFragment.java | 10 ++---- .../android/jobs/BackupNotificationsSyncJob.java | 2 +- .../android/jobs/BackupStatusesSyncJob.java | 2 +- .../fedilab/android/jobs/NotificationsSyncJob.java | 2 +- .../app/fedilab/android/sqlite/AccountDAO.java | 4 ++- 8 files changed, 28 insertions(+), 46 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/activities/MainApplication.java b/app/src/main/java/app/fedilab/android/activities/MainApplication.java index 631f8f3ac..1ebd71d13 100644 --- a/app/src/main/java/app/fedilab/android/activities/MainApplication.java +++ b/app/src/main/java/app/fedilab/android/activities/MainApplication.java @@ -63,7 +63,6 @@ public class MainApplication extends MultiDexApplication { private static MainApplication app; - public static int notificationsSyncJob = -1; @Override public void onCreate() { @@ -71,15 +70,22 @@ public class MainApplication extends MultiDexApplication { app = this; //System.setProperty("java.net.preferIPv4Stack" , "true"); JobManager.create(this).addJobCreator(new ApplicationJob()); + SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE); + ApplicationJob.cancelAllJob(NotificationsSyncJob.NOTIFICATION_REFRESH); if( Helper.getNotificationIcon(getApplicationContext()) == Helper.NOTIF_NONE) { - notificationsSyncJob = NotificationsSyncJob.schedule(false); + NotificationsSyncJob.schedule(false); } + + ApplicationJob.cancelAllJob(BackupStatusesSyncJob.BACKUP_SYNC); BackupStatusesSyncJob.schedule(false); + ApplicationJob.cancelAllJob(BackupNotificationsSyncJob.BACKUP_NOTIFICATIONS_SYNC); BackupNotificationsSyncJob.schedule(false); + + StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder(); StrictMode.setVmPolicy(builder.build()); - SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, android.content.Context.MODE_PRIVATE); + try { List SUPPORTED_LOCALES = new ArrayList<>(); diff --git a/app/src/main/java/app/fedilab/android/client/API.java b/app/src/main/java/app/fedilab/android/client/API.java index 9609e0e05..83ffd1ad1 100644 --- a/app/src/main/java/app/fedilab/android/client/API.java +++ b/app/src/main/java/app/fedilab/android/client/API.java @@ -696,11 +696,7 @@ public class API { editor.putString(Helper.SET_ONION_SCHEME + domain, "http"); scheme = "http"; editor.apply(); - } catch (IOException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } catch (KeyManagementException e) { + } catch (IOException | NoSuchAlgorithmException | KeyManagementException e) { e.printStackTrace(); } catch (HttpsConnection.HttpsConnectionException e) { SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); @@ -771,9 +767,7 @@ public class API { } catch (IOException e) { instanceNodeInfo.setConnectionError(true); e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } catch (KeyManagementException e) { + } catch (NoSuchAlgorithmException | KeyManagementException | JSONException e) { e.printStackTrace(); } catch (HttpsConnection.HttpsConnectionException e) { try { @@ -785,22 +779,15 @@ public class API { } catch (IOException e1) { instanceNodeInfo.setConnectionError(true); e1.printStackTrace(); - } catch (NoSuchAlgorithmException e1) { - e1.printStackTrace(); - } catch (KeyManagementException e1) { + } catch (NoSuchAlgorithmException | KeyManagementException | JSONException e1) { e1.printStackTrace(); } catch (HttpsConnection.HttpsConnectionException e1) { instanceNodeInfo.setName("GNU"); instanceNodeInfo.setVersion("unknown"); instanceNodeInfo.setOpenRegistrations(true); - e1.printStackTrace(); - } catch (JSONException e1) { - e1.printStackTrace(); } e.printStackTrace(); - } catch (JSONException e) { - e.printStackTrace(); } return instanceNodeInfo; } @@ -1011,7 +998,10 @@ public class API { } String response = new HttpsConnection(context, this.instance).get(getAbsoluteUrl("/accounts/verify_credentials"), 10, null, prefKeyOauthTokenT); account = parseAccountResponse(context, new JSONObject(response)); - account.setSocial(getNodeInfo(instance).getName().toUpperCase()); + InstanceNodeInfo nodeinfo = getNodeInfo(instance); + if( nodeinfo != null && nodeinfo.getName() != null) { + account.setSocial(getNodeInfo(instance).getName().toUpperCase()); + } if (account != null && account.getSocial() != null && account.getSocial().equals("PLEROMA")) { isPleromaAdmin(account.getAcct()); } @@ -1044,26 +1034,14 @@ public class API { if (account.getSocial().equals("PLEROMA")) { isPleromaAdmin(account.getAcct()); } - } catch (IOException e1) { - e1.printStackTrace(); - } catch (NoSuchAlgorithmException e1) { - e1.printStackTrace(); - } catch (KeyManagementException e1) { - e1.printStackTrace(); - } catch (JSONException e1) { + } catch (IOException | NoSuchAlgorithmException | KeyManagementException | JSONException e1) { e1.printStackTrace(); } catch (HttpsConnection.HttpsConnectionException e1) { e1.printStackTrace(); setError(e.getStatusCode(), e); } } - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } catch (KeyManagementException e) { - e.printStackTrace(); - } catch (JSONException e) { + } catch (NoSuchAlgorithmException | IOException | KeyManagementException | JSONException e) { e.printStackTrace(); } return account; diff --git a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java index 7208b3459..d035af3e4 100644 --- a/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java +++ b/app/src/main/java/app/fedilab/android/drawers/StatusListAdapter.java @@ -566,7 +566,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct Toasty.info(context, context.getString(R.string.toast_toot_saved_error), Toast.LENGTH_LONG).show(); } //For conversation - if (context instanceof ShowConversationActivity) { + if (context instanceof ShowConversationActivity && apiResponse.getStatuses() != null && apiResponse.getStatuses().size() > 0) { ((ShowConversationActivity) context).addStatuses(apiResponse.getStatuses().get(0)); } diff --git a/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java b/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java index 4b30a0217..44c7a2e6f 100644 --- a/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java +++ b/app/src/main/java/app/fedilab/android/fragments/ContentSettingsFragment.java @@ -1290,9 +1290,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot live_notif_per_account.setVisibility(View.VISIBLE); editor.apply(); context.sendBroadcast(new Intent(context, StopDelayedNotificationReceiver.class)); - if( MainApplication.notificationsSyncJob != -1){ - ApplicationJob.cancelJob(MainApplication.notificationsSyncJob); - } + ApplicationJob.cancelAllJob(NotificationsSyncJob.NOTIFICATION_REFRESH); break; case Helper.NOTIF_DELAYED: editor.putBoolean(Helper.SET_LIVE_NOTIFICATIONS, false); @@ -1300,9 +1298,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot live_notif_per_account.setVisibility(View.VISIBLE); context.sendBroadcast(new Intent(context, StopLiveNotificationReceiver.class)); editor.apply(); - if( MainApplication.notificationsSyncJob != -1){ - ApplicationJob.cancelJob(MainApplication.notificationsSyncJob); - } + ApplicationJob.cancelAllJob(NotificationsSyncJob.NOTIFICATION_REFRESH); break; case Helper.NOTIF_NONE: editor.putBoolean(Helper.SET_LIVE_NOTIFICATIONS, false); @@ -1310,7 +1306,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot live_notif_per_account.setVisibility(View.GONE); context.sendBroadcast(new Intent(context, StopLiveNotificationReceiver.class)); context.sendBroadcast(new Intent(context, StopDelayedNotificationReceiver.class)); - MainApplication.notificationsSyncJob = NotificationsSyncJob.schedule(false); + NotificationsSyncJob.schedule(false); editor.apply(); break; } diff --git a/app/src/main/java/app/fedilab/android/jobs/BackupNotificationsSyncJob.java b/app/src/main/java/app/fedilab/android/jobs/BackupNotificationsSyncJob.java index 3ac7059bd..601262aae 100644 --- a/app/src/main/java/app/fedilab/android/jobs/BackupNotificationsSyncJob.java +++ b/app/src/main/java/app/fedilab/android/jobs/BackupNotificationsSyncJob.java @@ -43,7 +43,7 @@ import app.fedilab.android.sqlite.Sqlite; public class BackupNotificationsSyncJob extends Job { - static final String BACKUP_NOTIFICATIONS_SYNC = "job_backup_notification"; + public static final String BACKUP_NOTIFICATIONS_SYNC = "job_backup_notification"; static { Helper.installProvider(); diff --git a/app/src/main/java/app/fedilab/android/jobs/BackupStatusesSyncJob.java b/app/src/main/java/app/fedilab/android/jobs/BackupStatusesSyncJob.java index a7a39262b..dd2496c64 100644 --- a/app/src/main/java/app/fedilab/android/jobs/BackupStatusesSyncJob.java +++ b/app/src/main/java/app/fedilab/android/jobs/BackupStatusesSyncJob.java @@ -73,7 +73,7 @@ import static app.fedilab.android.helper.Helper.notify_user; public class BackupStatusesSyncJob extends Job { - static final String BACKUP_SYNC = "job_backup"; + public static final String BACKUP_SYNC = "job_backup"; static { Helper.installProvider(); diff --git a/app/src/main/java/app/fedilab/android/jobs/NotificationsSyncJob.java b/app/src/main/java/app/fedilab/android/jobs/NotificationsSyncJob.java index d0300e1cd..f9917cf99 100644 --- a/app/src/main/java/app/fedilab/android/jobs/NotificationsSyncJob.java +++ b/app/src/main/java/app/fedilab/android/jobs/NotificationsSyncJob.java @@ -73,7 +73,7 @@ import static app.fedilab.android.helper.Helper.notify_user; public class NotificationsSyncJob extends Job { - static final String NOTIFICATION_REFRESH = "job_notification"; + public static final String NOTIFICATION_REFRESH = "job_notification"; static { Helper.installProvider(); diff --git a/app/src/main/java/app/fedilab/android/sqlite/AccountDAO.java b/app/src/main/java/app/fedilab/android/sqlite/AccountDAO.java index e6be06e1b..60ff6d459 100644 --- a/app/src/main/java/app/fedilab/android/sqlite/AccountDAO.java +++ b/app/src/main/java/app/fedilab/android/sqlite/AccountDAO.java @@ -161,7 +161,9 @@ public class AccountDAO { values.put(Sqlite.COL_HEADER_STATIC, account.getHeader_static()); values.put(Sqlite.COL_CREATED_AT, Helper.dateToString(account.getCreated_at())); values.put(Sqlite.COL_EMOJIS, Helper.emojisToStringStorage(account.getEmojis())); - values.put(Sqlite.COL_SOCIAL, account.getSocial()); + if( account.getSocial() != null ) { + values.put(Sqlite.COL_SOCIAL, account.getSocial()); + } if (account.getClient_id() != null && account.getClient_secret() != null && account.getRefresh_token() != null) { values.put(Sqlite.COL_CLIENT_ID, account.getClient_id()); values.put(Sqlite.COL_CLIENT_SECRET, account.getClient_secret()); -- cgit v1.2.3