From 29dbc1a02d058305ad9ae97e2459716107e7b69d Mon Sep 17 00:00:00 2001 From: Coffeemakr Date: Tue, 12 Sep 2017 22:44:53 +0200 Subject: [PATCH] Fix platform and some issues --- .../java/ch/unstable/ost/ChooseStationActivity.java | 1 + .../java/ch/unstable/ost/ConnectionListAdapter.java | 8 +++++--- .../java/ch/unstable/ost/ConnectionListFragment.java | 1 + .../java/ch/unstable/ost/HeadNavigationFragment.java | 2 +- app/src/main/java/ch/unstable/ost/OSTApplication.java | 3 ++- .../java/ch/unstable/ost/SectionDetailFragment.java | 2 +- .../ch/unstable/ost/api/base/BaseHttpJsonAPI.java | 6 +++++- .../ch/unstable/ost/api/model/ConnectionQuery.java | 5 ++++- .../unstable/ost/api/offline/OfflineStationsDAO.java | 2 ++ .../types/DepartureCheckpointDeserializer.java | 10 ++++++---- .../ch/unstable/ost/error/ErrorReportActivity.java | 6 +++--- .../ch/unstable/ost/preference/StationDaoLoader.java | 2 +- .../ch/unstable/ost/utils/StandartCharsetCompat.java | 11 +++++++++++ 13 files changed, 43 insertions(+), 16 deletions(-) create mode 100644 app/src/main/java/ch/unstable/ost/utils/StandartCharsetCompat.java diff --git a/app/src/main/java/ch/unstable/ost/ChooseStationActivity.java b/app/src/main/java/ch/unstable/ost/ChooseStationActivity.java index e2475a9..f4df8b4 100644 --- a/app/src/main/java/ch/unstable/ost/ChooseStationActivity.java +++ b/app/src/main/java/ch/unstable/ost/ChooseStationActivity.java @@ -79,6 +79,7 @@ protected void onCreate(Bundle savedInstanceState) { } mLocationResultAdapter = new StationListAdapter(this); mLocationResultAdapter.setOnStationClickListener(new StationListAdapter.OnStationClickListener() { + @Override public void onStationClicked(Location location) { onLocationSelected(location); } diff --git a/app/src/main/java/ch/unstable/ost/ConnectionListAdapter.java b/app/src/main/java/ch/unstable/ost/ConnectionListAdapter.java index fcd4e68..1ecfd01 100644 --- a/app/src/main/java/ch/unstable/ost/ConnectionListAdapter.java +++ b/app/src/main/java/ch/unstable/ost/ConnectionListAdapter.java @@ -212,6 +212,7 @@ public void onBindViewHolder(ConnectionViewHolder holder, int position) { Section section = sections[0]; holder.firstEndDestination.setText(formatEndDestination(context, section.getHeadsign())); holder.firstTransportName.setText(section.getLineShortName()); + Log.d(TAG, "Binding departure plattform: " + section.getDeparturePlatform()); holder.platform.setText(formatPlatform(context, section.getDeparturePlatform())); } else { Log.e(TAG, "No sections"); @@ -234,8 +235,9 @@ public void onBindViewHolder(ConnectionViewHolder holder, int position) { @Nullable private String formatPlatform(Context context, @Nullable String platform) { - if (platform == null) return null; - if (platform.matches("^[0-9]+$")) { + if (platform == null) { + return null; + } else if (platform.matches("^[0-9]+$")) { return context.getString(R.string.format_train_platform, platform); } else if (platform.matches("^[A-z]+$")) { return context.getString(R.string.format_bus_platform, platform); @@ -363,7 +365,7 @@ public void onClick(View v) { } } - private class ProgressViewHolder extends RecyclerView.ViewHolder { + private static class ProgressViewHolder extends RecyclerView.ViewHolder { private final View progressBar; public ProgressViewHolder(View itemView) { diff --git a/app/src/main/java/ch/unstable/ost/ConnectionListFragment.java b/app/src/main/java/ch/unstable/ost/ConnectionListFragment.java index 6eb5873..77b7bcf 100644 --- a/app/src/main/java/ch/unstable/ost/ConnectionListFragment.java +++ b/app/src/main/java/ch/unstable/ost/ConnectionListFragment.java @@ -246,6 +246,7 @@ public boolean handleMessage(Message msg) { break; case MESSAGE_QUERY_CONNECTION_PAGE: handleConnectionQuery((ConnectionQuery) msg.obj, msg.arg1); + break; default: return false; } diff --git a/app/src/main/java/ch/unstable/ost/HeadNavigationFragment.java b/app/src/main/java/ch/unstable/ost/HeadNavigationFragment.java index 9991ef3..848dbb5 100644 --- a/app/src/main/java/ch/unstable/ost/HeadNavigationFragment.java +++ b/app/src/main/java/ch/unstable/ost/HeadNavigationFragment.java @@ -78,7 +78,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) { if (mSelectionState == null) { mSelectionState = new SelectionState(); } - mSelectionState.getChangeObservable() + Disposable disposable = mSelectionState.getChangeObservable() .observeOn(AndroidSchedulers.mainThread()) .subscribe(getSelectionStateObserver()); } diff --git a/app/src/main/java/ch/unstable/ost/OSTApplication.java b/app/src/main/java/ch/unstable/ost/OSTApplication.java index c4b1035..b3c736f 100644 --- a/app/src/main/java/ch/unstable/ost/OSTApplication.java +++ b/app/src/main/java/ch/unstable/ost/OSTApplication.java @@ -9,8 +9,9 @@ public class OSTApplication extends Application { @Override public void onCreate() { super.onCreate(); - CaocConfig.Builder.create() + /*CaocConfig.Builder.create() .errorActivity(ErrorReportActivity.class) .apply(); + */ } } diff --git a/app/src/main/java/ch/unstable/ost/SectionDetailFragment.java b/app/src/main/java/ch/unstable/ost/SectionDetailFragment.java index 191669f..e9f8028 100644 --- a/app/src/main/java/ch/unstable/ost/SectionDetailFragment.java +++ b/app/src/main/java/ch/unstable/ost/SectionDetailFragment.java @@ -83,7 +83,7 @@ public ViewHolder(View itemView) { } } - private class StopsListAdapter extends RecyclerView.Adapter { + private static class StopsListAdapter extends RecyclerView.Adapter { private PassingCheckpoint[] stops; public void setStops(PassingCheckpoint[] stops) { diff --git a/app/src/main/java/ch/unstable/ost/api/base/BaseHttpJsonAPI.java b/app/src/main/java/ch/unstable/ost/api/base/BaseHttpJsonAPI.java index a43ccaf..ff48b74 100644 --- a/app/src/main/java/ch/unstable/ost/api/base/BaseHttpJsonAPI.java +++ b/app/src/main/java/ch/unstable/ost/api/base/BaseHttpJsonAPI.java @@ -1,6 +1,7 @@ package ch.unstable.ost.api.base; +import android.os.Build; import android.util.Log; import com.google.gson.Gson; @@ -12,10 +13,12 @@ import java.lang.reflect.Type; import java.net.HttpURLConnection; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.logging.Level; import java.util.logging.Logger; import ch.unstable.ost.BuildConfig; +import ch.unstable.ost.utils.StandartCharsetCompat; public class BaseHttpJsonAPI { @@ -51,9 +54,10 @@ private InputStreamReader open(URL url) throws IOException { if (code == HTTP_CODE_TOO_MANY_REQUESTS) { throw new TooManyRequestsException(); } - return new InputStreamReader(urlConnection.getInputStream()); + return new InputStreamReader(urlConnection.getInputStream(), StandartCharsetCompat.UTF_8); } + @SuppressWarnings("TypeParameterUnusedInFormals") protected T loadJson(URL url, Type typeOfT) throws IOException { InputStreamReader inputStreamReader = open(url); try { diff --git a/app/src/main/java/ch/unstable/ost/api/model/ConnectionQuery.java b/app/src/main/java/ch/unstable/ost/api/model/ConnectionQuery.java index a2872cc..15b3e6b 100644 --- a/app/src/main/java/ch/unstable/ost/api/model/ConnectionQuery.java +++ b/app/src/main/java/ch/unstable/ost/api/model/ConnectionQuery.java @@ -21,10 +21,13 @@ public class ConnectionQuery implements Parcelable { public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { + + @Override public ConnectionQuery createFromParcel(Parcel in) { return new ConnectionQuery(in); } + @Override public ConnectionQuery[] newArray(int size) { return new ConnectionQuery[size]; } @@ -130,7 +133,7 @@ public Builder() { @NonNull @CanIgnoreReturnValue public Builder setVia(@Nullable String... via) { - if (via == null || via.length == 1 && via[0] == null) { + if (via == null || (via.length == 1 && via[0] == null)) { this.via.clear(); } else { this.via = new ArrayList<>(Arrays.asList(via)); diff --git a/app/src/main/java/ch/unstable/ost/api/offline/OfflineStationsDAO.java b/app/src/main/java/ch/unstable/ost/api/offline/OfflineStationsDAO.java index 74274a1..0a715d1 100644 --- a/app/src/main/java/ch/unstable/ost/api/offline/OfflineStationsDAO.java +++ b/app/src/main/java/ch/unstable/ost/api/offline/OfflineStationsDAO.java @@ -1,6 +1,7 @@ package ch.unstable.ost.api.offline; import android.arch.persistence.room.Dao; +import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -29,6 +30,7 @@ private static String getFullQuery(String query) { return fullQuery.toString(); } + @Override public Location[] getStationsByQuery(String query) { return getStationsByQuery(getFullQuery(query), 0); } diff --git a/app/src/main/java/ch/unstable/ost/api/transport/types/DepartureCheckpointDeserializer.java b/app/src/main/java/ch/unstable/ost/api/transport/types/DepartureCheckpointDeserializer.java index 9d3f1ea..6857e30 100644 --- a/app/src/main/java/ch/unstable/ost/api/transport/types/DepartureCheckpointDeserializer.java +++ b/app/src/main/java/ch/unstable/ost/api/transport/types/DepartureCheckpointDeserializer.java @@ -25,13 +25,14 @@ public enum DepartureCheckpointDeserializer implements JsonDeserializer clazz = Class.forName(preference); - StationDAOFactory daoFactory = (StationDAOFactory) clazz.newInstance(); + StationDAOFactory daoFactory = (StationDAOFactory) clazz.getDeclaredConstructor().newInstance(); return daoFactory.getStationsDAO(context); } catch (Exception e) { throw new IllegalStateException("Couldn't get factory for StationsDAO", e); diff --git a/app/src/main/java/ch/unstable/ost/utils/StandartCharsetCompat.java b/app/src/main/java/ch/unstable/ost/utils/StandartCharsetCompat.java new file mode 100644 index 0000000..e956f00 --- /dev/null +++ b/app/src/main/java/ch/unstable/ost/utils/StandartCharsetCompat.java @@ -0,0 +1,11 @@ +package ch.unstable.ost.utils; + +import java.nio.charset.Charset; + +/** + * Created by coffeemakr on 12.09.17. + */ + +public class StandartCharsetCompat { + public static final Charset UTF_8 = Charset.forName("UTF-8"); +}