From 51869f229d2efe74d13e1dab3a028d947abd9fbf Mon Sep 17 00:00:00 2001 From: tom79 Date: Tue, 25 Jun 2019 19:23:38 +0200 Subject: remove live notifications for Android 4 as websocket doesn't seem to work --- .../android/activities/BaseMainActivity.java | 7 +++- .../android/fragments/DisplayStatusFragment.java | 45 ++++++++++++++-------- .../android/services/LiveNotificationService.java | 10 ----- .../StreamingFederatedTimelineService.java | 10 ----- .../services/StreamingHomeTimelineService.java | 10 ----- .../services/StreamingLocalTimelineService.java | 10 ----- 6 files changed, 34 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java index f740b7c6b..08859e59c 100644 --- a/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/BaseMainActivity.java @@ -669,8 +669,11 @@ public abstract class BaseMainActivity extends BaseActivity changeDrawableColor(getApplicationContext(), R.drawable.ic_recently_added,R.color.dark_text); } - if( social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) - startSreaming(); + if( social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) { + if( Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT ) { + startSreaming(); + } + } toolbar_search.setOnQueryTextListener(new SearchView.OnQueryTextListener() { diff --git a/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java b/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java index 6fd90c041..4f04b45df 100644 --- a/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java +++ b/app/src/main/java/app/fedilab/android/fragments/DisplayStatusFragment.java @@ -22,6 +22,7 @@ import android.content.IntentFilter; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.os.AsyncTask; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Looper; @@ -644,10 +645,13 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn editor.putBoolean(Helper.SHOULD_CONTINUE_STREAMING_FEDERATED + userId + instance, true); editor.apply(); if(liveNotifications && batteryProfile == Helper.BATTERY_PROFILE_NORMAL) { - streamingFederatedIntent = new Intent(context, StreamingFederatedTimelineService.class); - try { - context.startService(streamingFederatedIntent); - }catch (Exception ignored){} + if( Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT ) { + streamingFederatedIntent = new Intent(context, StreamingFederatedTimelineService.class); + try { + context.startService(streamingFederatedIntent); + }catch (Exception ignored){} + } + } if( statuses != null && statuses.size() > 0) retrieveMissingToots(statuses.get(0).getId()); @@ -659,10 +663,13 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn editor.putBoolean(Helper.SHOULD_CONTINUE_STREAMING_LOCAL + userId + instance, true); editor.apply(); if( liveNotifications && batteryProfile == Helper.BATTERY_PROFILE_NORMAL) { - streamingLocalIntent = new Intent(context, StreamingLocalTimelineService.class); - try { - context.startService(streamingLocalIntent); - }catch (Exception ignored){} + if( Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT ) { + streamingLocalIntent = new Intent(context, StreamingLocalTimelineService.class); + try { + context.startService(streamingLocalIntent); + } catch (Exception ignored) { + } + } } if( statuses != null && statuses.size() > 0) retrieveMissingToots(statuses.get(0).getId()); @@ -745,10 +752,13 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn editor.putBoolean(Helper.SHOULD_CONTINUE_STREAMING_FEDERATED + userId + instance, true); editor.apply(); if(liveNotifications && batteryProfile == Helper.BATTERY_PROFILE_NORMAL) { - streamingFederatedIntent = new Intent(context, StreamingFederatedTimelineService.class); - try { - context.startService(streamingFederatedIntent); - }catch (Exception ignored){} + if( Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT ) { + streamingFederatedIntent = new Intent(context, StreamingFederatedTimelineService.class); + try { + context.startService(streamingFederatedIntent); + } catch (Exception ignored) { + } + } } if( statuses != null && statuses.size() > 0) retrieveMissingToots(statuses.get(0).getId()); @@ -766,10 +776,13 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn editor.putBoolean(Helper.SHOULD_CONTINUE_STREAMING_LOCAL + userId + instance, true); editor.apply(); if( liveNotifications && batteryProfile == Helper.BATTERY_PROFILE_NORMAL) { - streamingLocalIntent = new Intent(context, StreamingLocalTimelineService.class); - try { - context.startService(streamingLocalIntent); - }catch (Exception ignored){} + if( Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT ) { + streamingLocalIntent = new Intent(context, StreamingLocalTimelineService.class); + try { + context.startService(streamingLocalIntent); + } catch (Exception ignored) { + } + } } if( statuses != null && statuses.size() > 0) retrieveMissingToots(statuses.get(0).getId()); diff --git a/app/src/main/java/app/fedilab/android/services/LiveNotificationService.java b/app/src/main/java/app/fedilab/android/services/LiveNotificationService.java index 7c4eb9318..974250cc3 100644 --- a/app/src/main/java/app/fedilab/android/services/LiveNotificationService.java +++ b/app/src/main/java/app/fedilab/android/services/LiveNotificationService.java @@ -226,16 +226,6 @@ public class LiveNotificationService extends Service implements NetworkStateRece Objects.requireNonNull(webSocketFutures.get(urlKey)).close(); } catch (Exception ignored) {} } - if( Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT ) { - try { - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(new TLSSocketFactory().getSSLContext()); - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setConnectAllAddresses(true); - } catch (KeyManagementException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } - } AsyncHttpClient.getDefaultInstance().websocket("wss://" + account.getInstance() + "/api/v1/streaming/?stream="+notif_url+"&access_token=" + account.getToken(), "wss", new AsyncHttpClient.WebSocketConnectCallback() { @Override public void onCompleted(Exception ex, WebSocket webSocket) { diff --git a/app/src/main/java/app/fedilab/android/services/StreamingFederatedTimelineService.java b/app/src/main/java/app/fedilab/android/services/StreamingFederatedTimelineService.java index be1d0986a..5b97f7708 100644 --- a/app/src/main/java/app/fedilab/android/services/StreamingFederatedTimelineService.java +++ b/app/src/main/java/app/fedilab/android/services/StreamingFederatedTimelineService.java @@ -108,16 +108,6 @@ public class StreamingFederatedTimelineService extends IntentService { Uri url = Uri.parse("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=public&access_token="+ accountStream.getToken()); AsyncHttpRequest.setDefaultHeaders(headers, url); Account finalAccountStream = accountStream; - if( Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT ) { - try { - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(new TLSSocketFactory().getSSLContext()); - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setConnectAllAddresses(true); - } catch (KeyManagementException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } - } AsyncHttpClient.getDefaultInstance().websocket("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=public&access_token="+ accountStream.getToken(),"wss", new AsyncHttpClient.WebSocketConnectCallback() { @Override public void onCompleted(Exception ex, WebSocket webSocket) { diff --git a/app/src/main/java/app/fedilab/android/services/StreamingHomeTimelineService.java b/app/src/main/java/app/fedilab/android/services/StreamingHomeTimelineService.java index 2b1b91945..5ac29f550 100644 --- a/app/src/main/java/app/fedilab/android/services/StreamingHomeTimelineService.java +++ b/app/src/main/java/app/fedilab/android/services/StreamingHomeTimelineService.java @@ -108,16 +108,6 @@ public class StreamingHomeTimelineService extends IntentService { Uri url = Uri.parse("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=user&access_token="+ accountStream.getToken()); AsyncHttpRequest.setDefaultHeaders(headers, url); Account finalAccountStream = accountStream; - if( Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT ) { - try { - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(new TLSSocketFactory().getSSLContext()); - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setConnectAllAddresses(true); - } catch (KeyManagementException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } - } AsyncHttpClient.getDefaultInstance().websocket("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=user&access_token="+ accountStream.getToken(),"wss", new AsyncHttpClient.WebSocketConnectCallback() { @Override public void onCompleted(Exception ex, WebSocket webSocket) { diff --git a/app/src/main/java/app/fedilab/android/services/StreamingLocalTimelineService.java b/app/src/main/java/app/fedilab/android/services/StreamingLocalTimelineService.java index b8a6ab0d7..249668c42 100644 --- a/app/src/main/java/app/fedilab/android/services/StreamingLocalTimelineService.java +++ b/app/src/main/java/app/fedilab/android/services/StreamingLocalTimelineService.java @@ -109,16 +109,6 @@ public class StreamingLocalTimelineService extends IntentService { Uri url = Uri.parse("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=public:local&access_token="+ accountStream.getToken()); AsyncHttpRequest.setDefaultHeaders(headers, url); Account finalAccountStream = accountStream; - if( Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT ) { - try { - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setSSLContext(new TLSSocketFactory().getSSLContext()); - AsyncHttpClient.getDefaultInstance().getSSLSocketMiddleware().setConnectAllAddresses(true); - } catch (KeyManagementException e) { - e.printStackTrace(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - } - } AsyncHttpClient.getDefaultInstance().websocket("wss://" + accountStream.getInstance() + "/api/v1/streaming/?stream=public:local&access_token="+ accountStream.getToken(),"wss", new AsyncHttpClient.WebSocketConnectCallback() { @Override public void onCompleted(Exception ex, WebSocket webSocket) { -- cgit v1.2.3