From 015b9c7e8028d6106f65be0a58baea8c3f59f2e3 Mon Sep 17 00:00:00 2001 From: Niedermann IT-Dienstleistungen Date: Fri, 12 Oct 2018 10:08:22 +0200 Subject: Complete deserializer and request boards endpoint --- .../it/niedermann/nextcloud/deck/MainActivity.java | 29 +++------------------- .../niedermann/nextcloud/deck/api/ApiProvider.java | 2 -- .../it/niedermann/nextcloud/deck/api/DeckAPI.java | 2 +- .../niedermann/nextcloud/deck/api/DeckAPI_SSO.java | 5 ++-- .../niedermann/nextcloud/deck/api/GsonConfig.java | 7 +++--- .../nextcloud/deck/api/NextcloudDeserializer.java | 5 ++-- .../niedermann/nextcloud/deck/api/TellMeMore.java | 25 +++++++++++++++++++ .../it/niedermann/nextcloud/deck/model/Board.java | 13 ---------- .../nextcloud/deck/model/board/Board.java | 6 +++++ 9 files changed, 44 insertions(+), 50 deletions(-) create mode 100644 app/src/main/java/it/niedermann/nextcloud/deck/api/TellMeMore.java delete mode 100644 app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java (limited to 'app/src/main/java/it') diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/MainActivity.java index 2bc3a21a6..e89214c73 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/MainActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/MainActivity.java @@ -15,7 +15,6 @@ import android.view.MenuItem; import android.view.View; import com.nextcloud.android.sso.api.NextcloudAPI; -import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException; import com.nextcloud.android.sso.helper.SingleAccountHelper; import com.nextcloud.android.sso.model.SingleSignOnAccount; @@ -25,8 +24,8 @@ import io.reactivex.functions.Consumer; import it.niedermann.nextcloud.deck.api.ApiProvider; import it.niedermann.nextcloud.deck.api.DeckAPI; import it.niedermann.nextcloud.deck.api.DeckAPI_SSO; -import it.niedermann.nextcloud.deck.model.Board; import it.niedermann.nextcloud.deck.model.DataBaseAdapter; +import it.niedermann.nextcloud.deck.model.board.Board; public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, NextcloudAPI.ApiConnectedListener { @@ -73,7 +72,7 @@ public class MainActivity extends AppCompatActivity @Override public void accept(List boards) throws Exception { Log.e("Deck", "============================================================="); - Log.e("Deck", "" + boards.size()); + Log.e("Deck", "" + boards.get(0).getTitle()); } }; @@ -83,12 +82,7 @@ public class MainActivity extends AppCompatActivity provider.getAPI().boards().subscribe(consumer, new Consumer() { @Override public void accept(Throwable throwable) throws Exception { - if (throwable instanceof NextcloudHttpRequestFailedException) { - NextcloudHttpRequestFailedException e = (NextcloudHttpRequestFailedException) throwable; - e.getMessage(getApplicationContext()); - e.printStackTrace(); - } - //throwable.printStackTrace(); + throwable.printStackTrace(); } }); } @@ -102,23 +96,6 @@ public class MainActivity extends AppCompatActivity } }); -// -// String accountName = dataBaseAdapter.readAccounts().get(0).getName(); -// SingleAccountHelper.setCurrentAccount(getApplicationContext(), accountName); -// -// try { -// //account = SingleAccountHelper.getCurrentSingleSignOnAccount(getApplicationContext()); -// account = AccountImporter.getSingleSignOnAccount(getApplicationContext(), accountName); -// Log.e("Deck", "============================================================="); -// Log.e("Deck", account.name); -//// AccountImporter.requestAuthToken(this, getIntent()); -// -// mNextcloudAPI = new NextcloudAPI(getApplicationContext(), account, new Gson(), this); -// -// } catch (NextcloudFilesAppAccountNotFoundException e) { -// e.printStackTrace(); -// } - } else { loginDialogFragment = new LoginDialogFragment(); loginDialogFragment.show(this.getSupportFragmentManager(), "NoticeDialogFragment"); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java index 76ce90fac..da015c7b5 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java @@ -44,8 +44,6 @@ public class ApiProvider { nextcloudAPI = new NextcloudAPI(context, ssoAccount, GsonConfig.GetGson(), new NextcloudAPI.ApiConnectedListener() { @Override public void onConnected() { - Log.e("deck", "################## Connected"); - mApi = new DeckAPI_SSO(nextcloudAPI); callback.onConnected(); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI.java index 44ac4fc2e..2d815d6bc 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI.java @@ -4,7 +4,7 @@ package it.niedermann.nextcloud.deck.api; import java.util.List; import io.reactivex.Observable; -import it.niedermann.nextcloud.deck.model.Board; +import it.niedermann.nextcloud.deck.model.board.Board; import retrofit2.http.GET; public interface DeckAPI { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI_SSO.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI_SSO.java index aa2ed0203..dbe494158 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI_SSO.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/DeckAPI_SSO.java @@ -8,11 +8,11 @@ import java.lang.reflect.Type; import java.util.List; import io.reactivex.Observable; -import it.niedermann.nextcloud.deck.model.Board; +import it.niedermann.nextcloud.deck.model.board.Board; public class DeckAPI_SSO implements DeckAPI { - private static final String mApiEndpoint = "/index.php/apps/deck/"; + private static final String mApiEndpoint = "/index.php/apps/deck/api/v1.0/"; private NextcloudAPI nextcloudAPI; public DeckAPI_SSO(NextcloudAPI nextcloudAPI) { @@ -25,6 +25,7 @@ public class DeckAPI_SSO implements DeckAPI { NextcloudRequest request = new NextcloudRequest.Builder() .setMethod("GET") .setUrl(mApiEndpoint + "boards") + .setFollowRedirects(true) .build(); return nextcloudAPI.performRequestObservable(type, request); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/GsonConfig.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/GsonConfig.java index fcf46fe63..5918232ac 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/GsonConfig.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/GsonConfig.java @@ -5,9 +5,8 @@ import com.google.gson.GsonBuilder; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; -import java.util.List; -import it.niedermann.nextcloud.deck.model.Board; +import it.niedermann.nextcloud.deck.model.board.Board; /** * Created by david on 27.06.17. @@ -16,7 +15,7 @@ import it.niedermann.nextcloud.deck.model.Board; public class GsonConfig { public static Gson GetGson() { - Type boardList = new TypeToken>() {}.getType(); + Type boardList = new TypeToken() {}.getType(); return new GsonBuilder() .setLenient() @@ -24,4 +23,4 @@ public class GsonConfig { .create(); } -} \ No newline at end of file +} diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudDeserializer.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudDeserializer.java index 599cef535..3d078953f 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudDeserializer.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudDeserializer.java @@ -10,7 +10,8 @@ import com.google.gson.JsonParseException; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; -import it.niedermann.nextcloud.deck.model.Board; + +import it.niedermann.nextcloud.deck.model.board.Board; /** * Created by david on 24.05.17. @@ -31,7 +32,7 @@ public class NextcloudDeserializer implements JsonDeserializer> { @Override public List deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException { - JsonArray jArr = json.getAsJsonObject().getAsJsonArray(mKey); + JsonArray jArr = json.getAsJsonArray(); List items = new ArrayList<>(); for(int i = 0; i < jArr.size(); i++) { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/TellMeMore.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/TellMeMore.java new file mode 100644 index 000000000..9f441593b --- /dev/null +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/TellMeMore.java @@ -0,0 +1,25 @@ +package it.niedermann.nextcloud.deck.api; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; + +public class TellMeMore { + public static String bitch(InputStream is){ + return motherFucker(new InputStreamReader(is)); + } + + public static String motherFucker(InputStreamReader is){ + BufferedReader br = new BufferedReader(is); + StringBuffer sb = new StringBuffer(); + try { + String s = null; + while ((s=br.readLine()) !=null){ + sb.append(s); + } + } catch (Exception e){ + e.printStackTrace(); + } + return sb.toString(); + } +} diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java deleted file mode 100644 index ab0280f8a..000000000 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java +++ /dev/null @@ -1,13 +0,0 @@ -package it.niedermann.nextcloud.deck.model; - -import java.io.Serializable; - -public class Board implements Serializable { - long id; - String title; - - public Board(long id, String title) { - this.id = id; - this.title = title; - } -} diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/board/Board.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/board/Board.java index acc96b2e8..376e34280 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/board/Board.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/board/Board.java @@ -12,6 +12,12 @@ public class Board { private DBStatus status; private ArrayList tasks; + public Board(long id, String title) { + this.id = id; + this.title = title; + } + + public long getId() { return id; } -- cgit v1.2.3