From 51a7cee34c319e94761d38673c83401b8adbcab5 Mon Sep 17 00:00:00 2001 From: stom79 Date: Sun, 3 Feb 2019 16:35:31 +0100 Subject: [PATCH] Remove direct timeline for GNU, it doesn't seem to work. --- .../mastodon/activities/BaseMainActivity.java | 11 ++++++----- .../asynctasks/RetrieveFeedsAsyncTask.java | 1 + .../gouv/etalab/mastodon/client/GNUAPI.java | 19 ++++++++++++------- 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java index fd6513ac3..9424138fc 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/BaseMainActivity.java @@ -431,6 +431,8 @@ public abstract class BaseMainActivity extends BaseActivity else typePosition.put(0, RetrieveFeedsAsyncTask.Type.GNU_NOTIFICATION); int i = 2; + if( social == UpdateAccountInfoAsyncTask.SOCIAL.GNU ) + display_direct = false; if( display_direct) { tabLayout.addTab(tabDirect); tabPosition.put("direct",i); @@ -474,13 +476,12 @@ public abstract class BaseMainActivity extends BaseActivity typePosition.put(i, RetrieveFeedsAsyncTask.Type.GNU_WHOLE); i++; } - if( display_art) { + if( social == UpdateAccountInfoAsyncTask.SOCIAL.GNU ) + display_art = false; + if( display_art ) { tabLayout.addTab(tabArt); tabPosition.put("art", i); - if( social != UpdateAccountInfoAsyncTask.SOCIAL.GNU ) - typePosition.put(i, RetrieveFeedsAsyncTask.Type.ART); - else - typePosition.put(i, RetrieveFeedsAsyncTask.Type.GNU_ART); + typePosition.put(i, RetrieveFeedsAsyncTask.Type.ART); } if( (getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveFeedsAsyncTask.java b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveFeedsAsyncTask.java index c6a89b920..6237ff150 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveFeedsAsyncTask.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/asynctasks/RetrieveFeedsAsyncTask.java @@ -351,6 +351,7 @@ public class RetrieveFeedsAsyncTask extends AsyncTask { break; case GNU_DM: gnuAPI = new GNUAPI(this.contextReference.get()); + gnuAPI.getDirectTimeline(max_id); break; } if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) { diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/GNUAPI.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/GNUAPI.java index db914fcba..9361ecc29 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/GNUAPI.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/GNUAPI.java @@ -20,6 +20,7 @@ import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v4.content.LocalBroadcastManager; +import android.util.Log; import org.json.JSONArray; import org.json.JSONException; @@ -622,16 +623,19 @@ public class GNUAPI { params.put("since_id", since_id); if (0 > limit || limit > 80) limit = 80; - params.put("limit",String.valueOf(limit)); + params.put("count",String.valueOf(limit)); statuses = new ArrayList<>(); + Log.v(Helper.TAG,getAbsoluteUrl("/direct_messages.json")); try { HttpsConnection httpsConnection = new HttpsConnection(context); - String response = httpsConnection.get(getAbsoluteUrl("/timelines/direct"), 60, params, prefKeyOauthTokenT); + String response = httpsConnection.get(getAbsoluteUrl("/direct_messages.json"), 60, params, prefKeyOauthTokenT); + Log.v(Helper.TAG,response); apiResponse.setSince_id(httpsConnection.getSince_id()); apiResponse.setMax_id(httpsConnection.getMax_id()); statuses = parseStatuses(context, new JSONArray(response)); } catch (HttpsConnection.HttpsConnectionException e) { setError(e.getStatusCode(), e); + e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (IOException e) { @@ -774,7 +778,7 @@ public class GNUAPI { if( local) params.put("local", Boolean.toString(true)); if( max_id != null ) - params.put("_", max_id); + params.put("max_id", max_id); if( since_id != null ) params.put("since_id", since_id); if( 0 > limit || limit > 40) @@ -1497,7 +1501,7 @@ public class GNUAPI { HashMap params = new HashMap<>(); String stringType = null; if( max_id != null ) - params.put("_", max_id); + params.put("max_id", max_id); if( since_id != null ) params.put("since_id", since_id); if( 0 > limit || limit > 30) @@ -1533,9 +1537,8 @@ public class GNUAPI { String response = httpsConnection.get(url, 60, params, prefKeyOauthTokenT); apiResponse.setSince_id(httpsConnection.getSince_id()); apiResponse.setMax_id(httpsConnection.getMax_id()); - List statuses = parseStatuses(context, new JSONArray(response)); - List accounts = parseAccountResponse(new JSONArray(response)); if(type == DisplayNotificationsFragment.Type.FOLLOW){ + List accounts = parseAccountResponse(new JSONArray(response)); if( accounts != null) for(Account st: accounts ){ Notification notification = new Notification(); @@ -1546,6 +1549,7 @@ public class GNUAPI { notifications.add(notification); } }else { + List statuses = parseStatuses(context, new JSONArray(response)); if( statuses != null) for(Status st: statuses ){ Notification notification = new Notification(); @@ -1857,8 +1861,9 @@ public class GNUAPI { try{ status.setReblog(parseStatuses(context, resobj.getJSONObject("retweeted_status"))); }catch (Exception ignored){ status.setReblog(null);} - } catch (JSONException ignored) {ignored.printStackTrace();} catch (ParseException e) { + } catch (JSONException ignored) {ignored.printStackTrace(); Log.v(Helper.TAG,"resobj: " + resobj);} catch (ParseException e) { e.printStackTrace(); + } return status; }