Skip to content

Commit

Permalink
Merge branch 'design-fixes' into 'develop'
Browse files Browse the repository at this point in the history
Some frontend fixes

See merge request mobilesquad/time-for-coffe-android!9
  • Loading branch information
Luca Sardonini committed Jun 29, 2018
2 parents 907dc41 + 703db63 commit 9659776
Show file tree
Hide file tree
Showing 10 changed files with 128 additions and 191 deletions.

This file was deleted.

6 changes: 0 additions & 6 deletions common/src/main/res/values/attrs.xml

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,16 @@ public View getView(int position, View convertView, ViewGroup parent) {

Connection connection = this.mConnexions.get(position);
viewHolder.stationTextView.setText(connection.getStationName());
viewHolder.timeLabelTextView.setText(mContext.getResources().getString(R.string.connection_departure));
viewHolder.timeTextView.setText(connection.getScheduledDepartureStr());
viewHolder.departureTextView.setText(connection.getDepartureInMinutes());

if(position != mConnexions.size() - 1) {
viewHolder.timeLabelTextView.setText(mContext.getResources().getString(R.string.connection_departure));
}
else {
viewHolder.timeLabelTextView.setText(mContext.getResources().getString(R.string.connection_arrival));
}

if (connection.isLate()) {
viewHolder.realtimeDepartureTextView.setVisibility(View.VISIBLE);
viewHolder.realtimeDepartureTextView.setText(connection.getRealtimeDepartureStr());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

import ch.liip.timeforcoffee.R;
import ch.liip.timeforcoffee.api.models.Departure;
import ch.liip.timeforcoffee.common.FontFitTextView;
import ch.liip.timeforcoffee.common.Typefaces;

public class DepartureListAdapter extends ArrayAdapter<Departure> {
Expand Down Expand Up @@ -139,7 +138,7 @@ public void setDepartures(List<Departure> departures) {
}

private static class DepartureViewHolder {
FontFitTextView lineNameTextView;
TextView lineNameTextView;
TextView destinationTextView;
TextView departureTextView;
TextView scheduledTimeTextView;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,65 +82,20 @@ public void onPauseView() {

@Override
public void onRefreshView() {
loadStationsWithLastPosition();
loadStationsWithLastPositionForce();
}

public void onDestroy() {
mActivity = null;
mEventBus.unregister(this);
}

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == PERMISSION_REQUEST_CODE) {
for (int i = 0; i < permissions.length; i++) {
String permission = permissions[i];
int grantResult = grantResults[i];

if (!(permission.equals(locationPermission))) {
continue;
}

if (grantResult == PackageManager.PERMISSION_GRANTED) {
startLocation();
} else {
mActivity.setIsPositionLoading(false);
SnackBars.showLocalisationSettings(mActivity);
}
}
}
}

@Override
public void onLocationUpdated(Location location) {
Log.i(LOG_TAG, "onLocationUpdated : lat = " + location.getLatitude() + " , long = " + location.getLongitude());
mLastLocation = location;

loadStations(location);
}

@Subscribe
public void onStationsFetched(StationsLocationFetchedEvent event) {
mActivity.setIsPositionLoading(false);

mStations = event.getStations();
mActivity.updateStations(mStations);

updateFavorites();
}

@Subscribe
public void onFetchErrorEvent(FetchStationsLocationErrorEvent event) {
mActivity.setIsPositionLoading(false);
SnackBars.showNetworkError(mActivity, new View.OnClickListener() {
@Override
public void onClick(View view) {
loadStationsWithLastPosition();
}
});
}

public void updateStations() {
if (Build.FINGERPRINT.contains("generic")) { //emulator
mLastLocation = new Location("emulator");
mLastLocation.setLatitude(46.8017);
mLastLocation.setLongitude(7.1456);

loadStationsWithLastPosition();
}
else if (!mIsCapturingLocation) {
Expand Down Expand Up @@ -182,14 +137,16 @@ private void updateFavoritesOnFavoriteList() {

private void startLocation() {
if (!permissionsChecker.LacksPermission(locationPermission)) {
mActivity.updateStations(new ArrayList<Station>());
mActivity.setIsPositionLoading(true);
if(mStations == null || mStations.size() == 0) {
mActivity.setIsPositionLoading(true);
}

if (!SmartLocation.with(mActivity).location().state().locationServicesEnabled()) {
SnackBars.showLocalisationServiceOff(mActivity);
mActivity.setIsPositionLoading(false);
return;
} else if(SmartLocation.with(mActivity).location().state().isGpsAvailable() && !SmartLocation.with(mActivity).location().state().isNetworkAvailable()) {
}
else if(SmartLocation.with(mActivity).location().state().isGpsAvailable() && !SmartLocation.with(mActivity).location().state().isNetworkAvailable()) {
SnackBars.showLocalisationServiceSetToDeviceOnly(mActivity);
mActivity.setIsPositionLoading(false);
return;
Expand All @@ -201,7 +158,8 @@ private void startLocation() {
.config(locationParams)
.oneFix()
.start(this);
} else {
}
else {
permissionsChecker.RequestPermission(mActivity, locationPermission, PERMISSION_REQUEST_CODE, mActivity.getResources().getString(R.string.permission_message));
}
}
Expand All @@ -211,27 +169,84 @@ private void stopLocation() {
SmartLocation.with(mActivity).location().stop();
}

private void loadStations(Location location) {
if (location != null) {
Log.i(LOG_TAG, "get stations for lat = " + location.getLatitude() + " and long = " + location.getLongitude());
mEventBus.post(new FetchStationsLocationEvent(location.getLatitude(), location.getLongitude()));
private void loadStationsWithLastPosition() {
if(mStations == null || mStations.size() == 0) {
mActivity.setIsPositionLoading(true);
}

if (mLastLocation != null) {
loadStations(mLastLocation);
}
else {
startLocation();
}
}

private void loadStationsWithLastPosition() {
private void loadStationsWithLastPositionForce() {
mActivity.updateStations(new ArrayList<Station>());
mActivity.setIsPositionLoading(true);

if (Build.FINGERPRINT.contains("generic")) { //emulator
mLastLocation = new Location("emulator");
mLastLocation.setLatitude(46.8017);
mLastLocation.setLongitude(7.1456);
}

if (mLastLocation != null) {
loadStations(mLastLocation);
} else {
}
else {
startLocation();
}
}

private void loadStations(Location location) {
if (location != null) {
Log.i(LOG_TAG, "get stations for lat = " + location.getLatitude() + " and long = " + location.getLongitude());
mEventBus.post(new FetchStationsLocationEvent(location.getLatitude(), location.getLongitude()));
}
}

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == PERMISSION_REQUEST_CODE) {
for (int i = 0; i < permissions.length; i++) {
String permission = permissions[i];
int grantResult = grantResults[i];

if (!(permission.equals(locationPermission))) {
continue;
}

if (grantResult == PackageManager.PERMISSION_GRANTED) {
startLocation();
} else {
mActivity.setIsPositionLoading(false);
SnackBars.showLocalisationSettings(mActivity);
}
}
}
}

@Override
public void onLocationUpdated(Location location) {
Log.i(LOG_TAG, "onLocationUpdated : lat = " + location.getLatitude() + " , long = " + location.getLongitude());
mLastLocation = location;

loadStations(location);
}

@Subscribe
public void onStationsFetched(StationsLocationFetchedEvent event) {
mActivity.setIsPositionLoading(false);

mStations = event.getStations();
mActivity.updateStations(mStations);

updateFavorites();
}

@Subscribe
public void onFetchErrorEvent(FetchStationsLocationErrorEvent event) {
mActivity.setIsPositionLoading(false);
SnackBars.showNetworkError(mActivity, new View.OnClickListener() {
@Override
public void onClick(View view) {
loadStationsWithLastPosition();
}
});
}
}
14 changes: 7 additions & 7 deletions mobile/src/main/res/layout/fragment_departure_list_row.xml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<ch.liip.timeforcoffee.common.FontFitTextView
<TextView
android:id="@+id/name"
android:layout_width="42dp"
android:layout_height="42dp"
android:layout_margin="5dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:gravity="center"
android:singleLine="true"
android:textSize="12sp"
android:textStyle="bold"
custom:maxFontSize="45"
app:autoSizeTextType="uniform"
app:autoSizeMinTextSize="10sp"
app:autoSizeMaxTextSize="20sp"
tools:text="3"/>

<LinearLayout
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
import android.view.GestureDetector;
import android.view.Menu;
import android.view.MotionEvent;

import java.util.List;
import java.util.Vector;

import ch.liip.timeforcoffee.R;
import ch.liip.timeforcoffee.adapter.TabsAdapter;
import ch.liip.timeforcoffee.api.models.Departure;
Expand All @@ -20,9 +24,6 @@
import ch.liip.timeforcoffee.presenter.WearPresenter;
import ch.liip.timeforcoffee.view.FragmentViewPager;

import java.util.List;
import java.util.Vector;

public class WearActivity extends Activity {

private FragmentViewPager mFragmentViewPager;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
import android.widget.TextView;
import ch.liip.timeforcoffee.R;
import ch.liip.timeforcoffee.api.models.Departure;
import ch.liip.timeforcoffee.common.FontFitTextView;
import ch.liip.timeforcoffee.common.Typefaces;

import java.util.Arrays;
Expand All @@ -26,7 +25,7 @@ public class DepartureListAdapter extends ArrayAdapter<Departure> {
private static final String[] linesWithSymbol = {"ICN", "EN", "ICN", "TGV", "RX", "EC", "IC", "SC", "CNL", "ICE", "IR"};

private static class DepartureViewHolder {
FontFitTextView lineNameTextView;
TextView lineNameTextView;
TextView toTextView;
TextView departureTextView;
TextView scheduledTimeTextView;
Expand Down
Loading

0 comments on commit 9659776

Please sign in to comment.