diff --git a/oeffi/src/de/schildbach/oeffi/Application.java b/oeffi/src/de/schildbach/oeffi/Application.java index 7606495..352cc94 100644 --- a/oeffi/src/de/schildbach/oeffi/Application.java +++ b/oeffi/src/de/schildbach/oeffi/Application.java @@ -17,24 +17,6 @@ package de.schildbach.oeffi; -import java.io.File; -import java.io.FilenameFilter; -import java.lang.reflect.Method; -import java.util.concurrent.TimeUnit; - -import org.osmdroid.config.Configuration; -import org.osmdroid.config.IConfigurationProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Stopwatch; - -import de.schildbach.oeffi.directions.QueryHistoryProvider; -import de.schildbach.oeffi.stations.FavoriteStationsProvider; -import de.schildbach.oeffi.stations.NearestFavoriteStationWidgetService; -import de.schildbach.oeffi.util.ErrorReporter; -import de.schildbach.pte.NetworkId; - import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; @@ -50,8 +32,23 @@ import ch.qos.logback.classic.encoder.PatternLayoutEncoder; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.rolling.RollingFileAppender; import ch.qos.logback.core.rolling.TimeBasedRollingPolicy; +import com.google.common.base.Stopwatch; +import de.schildbach.oeffi.directions.QueryHistoryProvider; +import de.schildbach.oeffi.stations.FavoriteStationsProvider; +import de.schildbach.oeffi.stations.NearestFavoriteStationWidgetService; +import de.schildbach.oeffi.util.ErrorReporter; +import de.schildbach.pte.NetworkId; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; +import org.osmdroid.config.Configuration; +import org.osmdroid.config.IConfigurationProvider; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.FilenameFilter; +import java.lang.reflect.Method; +import java.util.concurrent.TimeUnit; public class Application extends android.app.Application { private PackageInfo packageInfo; diff --git a/oeffi/src/de/schildbach/oeffi/Constants.java b/oeffi/src/de/schildbach/oeffi/Constants.java index d914644..77947fa 100644 --- a/oeffi/src/de/schildbach/oeffi/Constants.java +++ b/oeffi/src/de/schildbach/oeffi/Constants.java @@ -17,13 +17,13 @@ package de.schildbach.oeffi; -import java.util.Locale; - import android.app.AlertDialog; import android.os.Build; import android.text.format.DateUtils; import okhttp3.HttpUrl; +import java.util.Locale; + public class Constants { public static final HttpUrl OEFFI_BASE_URL = HttpUrl.parse("https://oeffi.schildbach.de/"); public static final HttpUrl PLANS_BASE_URL = OEFFI_BASE_URL.newBuilder().addPathSegment("plans").build(); diff --git a/oeffi/src/de/schildbach/oeffi/MyActionBar.java b/oeffi/src/de/schildbach/oeffi/MyActionBar.java index c734b17..80704b5 100644 --- a/oeffi/src/de/schildbach/oeffi/MyActionBar.java +++ b/oeffi/src/de/schildbach/oeffi/MyActionBar.java @@ -17,9 +17,6 @@ package de.schildbach.oeffi; -import de.schildbach.oeffi.util.CheatSheet; -import de.schildbach.oeffi.util.ToggleImageButton; - import android.content.Context; import android.content.res.Resources; import android.os.Handler; @@ -36,6 +33,8 @@ import android.widget.ImageView.ScaleType; import android.widget.LinearLayout; import android.widget.PopupMenu; import android.widget.TextView; +import de.schildbach.oeffi.util.CheatSheet; +import de.schildbach.oeffi.util.ToggleImageButton; public class MyActionBar extends LinearLayout { private final Context context; diff --git a/oeffi/src/de/schildbach/oeffi/OeffiActivity.java b/oeffi/src/de/schildbach/oeffi/OeffiActivity.java index a4ecca8..87c0a65 100644 --- a/oeffi/src/de/schildbach/oeffi/OeffiActivity.java +++ b/oeffi/src/de/schildbach/oeffi/OeffiActivity.java @@ -17,14 +17,6 @@ package de.schildbach.oeffi; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import de.schildbach.oeffi.network.NetworkResources; -import de.schildbach.oeffi.util.ErrorReporter; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.dto.ResultHeader; - import android.annotation.TargetApi; import android.app.Activity; import android.app.ActivityManager.TaskDescription; @@ -39,6 +31,12 @@ import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; +import de.schildbach.oeffi.network.NetworkResources; +import de.schildbach.oeffi.util.ErrorReporter; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.dto.ResultHeader; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public abstract class OeffiActivity extends Activity { protected Application application; diff --git a/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java b/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java index 550457f..9a3e6b2 100644 --- a/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java +++ b/oeffi/src/de/schildbach/oeffi/OeffiMainActivity.java @@ -17,49 +17,6 @@ package de.schildbach.oeffi; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import de.schildbach.oeffi.preference.AboutFragment; -import de.schildbach.oeffi.preference.DonateFragment; -import de.schildbach.oeffi.preference.PreferenceActivity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Charsets; -import com.google.common.base.Splitter; -import com.google.common.base.Strings; -import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; - -import de.schildbach.oeffi.directions.DirectionsActivity; -import de.schildbach.oeffi.network.NetworkPickerActivity; -import de.schildbach.oeffi.network.NetworkResources; -import de.schildbach.oeffi.plans.PlansPickerActivity; -import de.schildbach.oeffi.stations.StationsActivity; -import de.schildbach.oeffi.util.ChangelogDialogBuilder; -import de.schildbach.oeffi.util.DialogBuilder; -import de.schildbach.oeffi.util.DividerItemDecoration; -import de.schildbach.oeffi.util.Downloader; -import de.schildbach.oeffi.util.ErrorReporter; -import de.schildbach.oeffi.util.Installer; -import de.schildbach.oeffi.util.NavigationMenuAdapter; -import de.schildbach.oeffi.util.UiThreadExecutor; -import de.schildbach.pte.NetworkId; - import android.animation.AnimatorInflater; import android.animation.AnimatorSet; import android.app.Dialog; @@ -79,16 +36,55 @@ import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.view.View.OnClickListener; import androidx.annotation.Nullable; import androidx.drawerlayout.widget.DrawerLayout; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.google.common.base.Charsets; +import com.google.common.base.Splitter; +import com.google.common.base.Strings; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import de.schildbach.oeffi.directions.DirectionsActivity; +import de.schildbach.oeffi.network.NetworkPickerActivity; +import de.schildbach.oeffi.network.NetworkResources; +import de.schildbach.oeffi.plans.PlansPickerActivity; +import de.schildbach.oeffi.preference.AboutFragment; +import de.schildbach.oeffi.preference.DonateFragment; +import de.schildbach.oeffi.preference.PreferenceActivity; +import de.schildbach.oeffi.stations.StationsActivity; +import de.schildbach.oeffi.util.ChangelogDialogBuilder; +import de.schildbach.oeffi.util.DialogBuilder; +import de.schildbach.oeffi.util.DividerItemDecoration; +import de.schildbach.oeffi.util.Downloader; +import de.schildbach.oeffi.util.ErrorReporter; +import de.schildbach.oeffi.util.Installer; +import de.schildbach.oeffi.util.NavigationMenuAdapter; +import de.schildbach.oeffi.util.UiThreadExecutor; +import de.schildbach.pte.NetworkId; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.Request; import okhttp3.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public abstract class OeffiMainActivity extends OeffiActivity { protected NetworkId network; diff --git a/oeffi/src/de/schildbach/oeffi/OeffiMapView.java b/oeffi/src/de/schildbach/oeffi/OeffiMapView.java index 71337ef..02416ad 100644 --- a/oeffi/src/de/schildbach/oeffi/OeffiMapView.java +++ b/oeffi/src/de/schildbach/oeffi/OeffiMapView.java @@ -17,28 +17,6 @@ package de.schildbach.oeffi; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; - -import org.osmdroid.api.IGeoPoint; -import org.osmdroid.util.BoundingBox; -import org.osmdroid.util.GeoPoint; -import org.osmdroid.views.MapView; -import org.osmdroid.views.Projection; -import org.osmdroid.views.overlay.Overlay; - -import de.schildbach.oeffi.stations.LineView; -import de.schildbach.oeffi.stations.Station; -import de.schildbach.oeffi.util.ZoomControls; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.Point; -import de.schildbach.pte.dto.Product; -import de.schildbach.pte.dto.Trip; -import de.schildbach.pte.dto.Trip.Leg; -import de.schildbach.pte.dto.Trip.Public; - import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; @@ -52,10 +30,29 @@ import android.util.AttributeSet; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.MotionEvent; -import android.view.View; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.TextView; +import de.schildbach.oeffi.stations.LineView; +import de.schildbach.oeffi.stations.Station; +import de.schildbach.oeffi.util.ZoomControls; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.Point; +import de.schildbach.pte.dto.Product; +import de.schildbach.pte.dto.Trip; +import de.schildbach.pte.dto.Trip.Leg; +import de.schildbach.pte.dto.Trip.Public; +import org.osmdroid.api.IGeoPoint; +import org.osmdroid.util.BoundingBox; +import org.osmdroid.util.GeoPoint; +import org.osmdroid.views.MapView; +import org.osmdroid.views.Projection; +import org.osmdroid.views.overlay.Overlay; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; public class OeffiMapView extends MapView { private ZoomControls zoomControls = null; diff --git a/oeffi/src/de/schildbach/oeffi/StationsAware.java b/oeffi/src/de/schildbach/oeffi/StationsAware.java index 04350ba..d1a1e9c 100644 --- a/oeffi/src/de/schildbach/oeffi/StationsAware.java +++ b/oeffi/src/de/schildbach/oeffi/StationsAware.java @@ -17,10 +17,10 @@ package de.schildbach.oeffi; -import java.util.List; - import de.schildbach.oeffi.stations.Station; +import java.util.List; + public interface StationsAware { List getStations(); diff --git a/oeffi/src/de/schildbach/oeffi/directions/DirectionsActivity.java b/oeffi/src/de/schildbach/oeffi/directions/DirectionsActivity.java index 6243166..8a33cde 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/DirectionsActivity.java +++ b/oeffi/src/de/schildbach/oeffi/directions/DirectionsActivity.java @@ -17,33 +17,56 @@ package de.schildbach.oeffi.directions; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InvalidClassException; -import java.io.ObjectInputStream; -import java.io.StreamCorruptedException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collection; -import java.util.EnumSet; -import java.util.GregorianCalendar; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; - -import javax.net.ssl.SSLException; - -import org.osmdroid.api.IGeoPoint; -import org.osmdroid.api.IMapController; -import org.osmdroid.views.MapView; -import org.osmdroid.views.overlay.Overlay; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import android.Manifest; +import android.animation.LayoutTransition; +import android.app.Activity; +import android.app.DatePickerDialog; +import android.app.Dialog; +import android.app.ProgressDialog; +import android.app.TimePickerDialog; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.pm.PackageManager; +import android.content.res.Configuration; +import android.database.Cursor; +import android.graphics.Canvas; +import android.location.Address; +import android.location.LocationManager; +import android.net.ConnectivityManager; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Process; +import android.provider.ContactsContract.CommonDataKinds; +import android.text.format.DateFormat; +import android.text.format.DateUtils; +import android.view.MenuItem; +import android.view.MotionEvent; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnLongClickListener; +import android.view.ViewGroup; +import android.view.inputmethod.EditorInfo; +import android.widget.ArrayAdapter; +import android.widget.BaseAdapter; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.Filter; +import android.widget.Filterable; +import android.widget.PopupMenu; +import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.coordinatorlayout.widget.CoordinatorLayout; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import androidx.core.view.ViewCompat; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import com.google.common.base.Throwables; import com.google.common.primitives.Floats; - import de.schildbach.oeffi.Constants; import de.schildbach.oeffi.FromViaToAware; import de.schildbach.oeffi.MyActionBar; @@ -69,7 +92,6 @@ import de.schildbach.oeffi.util.GeocoderThread; import de.schildbach.oeffi.util.LocationUriParser; import de.schildbach.oeffi.util.Toast; import de.schildbach.oeffi.util.ToggleImageButton; -import de.schildbach.oeffi.util.ToggleImageButton.OnCheckedChangeListener; import de.schildbach.oeffi.util.ZoomControls; import de.schildbach.pte.NetworkId; import de.schildbach.pte.NetworkProvider; @@ -86,63 +108,29 @@ import de.schildbach.pte.dto.QueryTripsResult; import de.schildbach.pte.dto.SuggestLocationsResult; import de.schildbach.pte.dto.Trip; import de.schildbach.pte.dto.TripOptions; - -import android.Manifest; -import android.animation.LayoutTransition; -import android.app.Activity; -import android.app.DatePickerDialog; -import android.app.DatePickerDialog.OnDateSetListener; -import android.app.Dialog; -import android.app.ProgressDialog; -import android.app.TimePickerDialog; -import android.app.TimePickerDialog.OnTimeSetListener; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.DialogInterface; -import android.content.DialogInterface.OnCancelListener; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.PackageManager; -import android.content.res.Configuration; -import android.database.Cursor; -import android.graphics.Canvas; -import android.location.Address; -import android.location.LocationManager; -import android.net.ConnectivityManager; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Process; -import android.provider.ContactsContract.CommonDataKinds; -import android.text.format.DateFormat; -import android.text.format.DateUtils; -import android.view.KeyEvent; -import android.view.MenuItem; -import android.view.MotionEvent; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.View.OnLongClickListener; -import android.view.ViewGroup; -import android.view.inputmethod.EditorInfo; -import android.widget.ArrayAdapter; -import android.widget.BaseAdapter; -import android.widget.Button; -import android.widget.CheckBox; -import android.widget.DatePicker; -import android.widget.Filter; -import android.widget.Filterable; -import android.widget.PopupMenu; -import android.widget.TextView; -import android.widget.TimePicker; -import androidx.annotation.Nullable; -import androidx.coordinatorlayout.widget.CoordinatorLayout; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; -import androidx.core.view.ViewCompat; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import okhttp3.HttpUrl; +import org.osmdroid.api.IGeoPoint; +import org.osmdroid.api.IMapController; +import org.osmdroid.views.MapView; +import org.osmdroid.views.overlay.Overlay; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLException; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InvalidClassException; +import java.io.ObjectInputStream; +import java.io.StreamCorruptedException; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Collection; +import java.util.EnumSet; +import java.util.GregorianCalendar; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Set; public class DirectionsActivity extends OeffiMainActivity implements ActivityCompat.OnRequestPermissionsResultCallback, QueryHistoryClickListener, QueryHistoryContextMenuItemListener { diff --git a/oeffi/src/de/schildbach/oeffi/directions/DirectionsShortcutActivity.java b/oeffi/src/de/schildbach/oeffi/directions/DirectionsShortcutActivity.java index 46f8c56..ec659bd 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/DirectionsShortcutActivity.java +++ b/oeffi/src/de/schildbach/oeffi/directions/DirectionsShortcutActivity.java @@ -17,15 +17,22 @@ package de.schildbach.oeffi.directions; -import java.util.Set; - -import javax.net.ssl.SSLException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import android.Manifest; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.location.Address; +import android.location.Criteria; +import android.location.LocationManager; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Process; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; import com.google.common.base.Throwables; - import de.schildbach.oeffi.Constants; import de.schildbach.oeffi.OeffiActivity; import de.schildbach.oeffi.R; @@ -44,26 +51,12 @@ import de.schildbach.pte.dto.Point; import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.QueryTripsResult; import de.schildbach.pte.dto.TripOptions; - -import android.Manifest; -import android.app.ProgressDialog; -import android.content.Context; -import android.content.DialogInterface; -import android.content.DialogInterface.OnCancelListener; -import android.content.DialogInterface.OnClickListener; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.location.Address; -import android.location.Criteria; -import android.location.LocationManager; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Process; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import okhttp3.HttpUrl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLException; +import java.util.Set; public class DirectionsShortcutActivity extends OeffiActivity implements ActivityCompat.OnRequestPermissionsResultCallback, LocationHelper.Callback { diff --git a/oeffi/src/de/schildbach/oeffi/directions/LocationTextView.java b/oeffi/src/de/schildbach/oeffi/directions/LocationTextView.java index e27e950..2d5f601 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/LocationTextView.java +++ b/oeffi/src/de/schildbach/oeffi/directions/LocationTextView.java @@ -17,15 +17,14 @@ package de.schildbach.oeffi.directions; -import java.util.Locale; - -import de.schildbach.oeffi.R; -import de.schildbach.pte.dto.Location; - import android.content.Context; import android.text.Html; import android.util.AttributeSet; import android.widget.TextView; +import de.schildbach.oeffi.R; +import de.schildbach.pte.dto.Location; + +import java.util.Locale; public class LocationTextView extends TextView { private String label = null; diff --git a/oeffi/src/de/schildbach/oeffi/directions/LocationView.java b/oeffi/src/de/schildbach/oeffi/directions/LocationView.java index d30359d..490f7b3 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/LocationView.java +++ b/oeffi/src/de/schildbach/oeffi/directions/LocationView.java @@ -17,20 +17,6 @@ package de.schildbach.oeffi.directions; -import java.util.Locale; - -import com.google.common.base.Strings; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.util.GeocoderThread; -import de.schildbach.oeffi.util.LocationHelper; -import de.schildbach.oeffi.util.MultiDrawable; -import de.schildbach.oeffi.util.PopupHelper; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.dto.Point; - import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; @@ -49,8 +35,6 @@ import android.util.TypedValue; import android.view.Gravity; import android.view.View; import android.view.inputmethod.EditorInfo; -import android.widget.AdapterView; -import android.widget.AdapterView.OnItemClickListener; import android.widget.AutoCompleteTextView; import android.widget.Filterable; import android.widget.FrameLayout; @@ -58,6 +42,18 @@ import android.widget.ListAdapter; import android.widget.PopupMenu; import android.widget.TextView.OnEditorActionListener; import androidx.annotation.Nullable; +import com.google.common.base.Strings; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.util.GeocoderThread; +import de.schildbach.oeffi.util.LocationHelper; +import de.schildbach.oeffi.util.MultiDrawable; +import de.schildbach.oeffi.util.PopupHelper; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.Point; + +import java.util.Locale; public class LocationView extends FrameLayout implements LocationHelper.Callback { public static interface Listener { diff --git a/oeffi/src/de/schildbach/oeffi/directions/PearlView.java b/oeffi/src/de/schildbach/oeffi/directions/PearlView.java index 162d78d..692d729 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/PearlView.java +++ b/oeffi/src/de/schildbach/oeffi/directions/PearlView.java @@ -17,9 +17,6 @@ package de.schildbach.oeffi.directions; -import de.schildbach.oeffi.R; -import de.schildbach.pte.dto.Style; - import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; @@ -28,6 +25,8 @@ import android.graphics.Paint; import android.graphics.Paint.FontMetrics; import android.util.AttributeSet; import android.view.View; +import de.schildbach.oeffi.R; +import de.schildbach.pte.dto.Style; public class PearlView extends View { private Type type = null; diff --git a/oeffi/src/de/schildbach/oeffi/directions/QueryHistoryProvider.java b/oeffi/src/de/schildbach/oeffi/directions/QueryHistoryProvider.java index 520aac3..37455e3 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/QueryHistoryProvider.java +++ b/oeffi/src/de/schildbach/oeffi/directions/QueryHistoryProvider.java @@ -17,15 +17,6 @@ package de.schildbach.oeffi.directions; -import java.util.ArrayList; -import java.util.List; - -import de.schildbach.oeffi.Application; -import de.schildbach.oeffi.Constants; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.LocationType; - import android.content.ContentProvider; import android.content.ContentResolver; import android.content.ContentValues; @@ -35,6 +26,14 @@ import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteQueryBuilder; import android.net.Uri; +import de.schildbach.oeffi.Application; +import de.schildbach.oeffi.Constants; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; + +import java.util.ArrayList; +import java.util.List; public class QueryHistoryProvider extends ContentProvider { private static final String DATABASE_TABLE = "query_history"; diff --git a/oeffi/src/de/schildbach/oeffi/directions/QueryTripsRunnable.java b/oeffi/src/de/schildbach/oeffi/directions/QueryTripsRunnable.java index d06d3ba..95835b9 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/QueryTripsRunnable.java +++ b/oeffi/src/de/schildbach/oeffi/directions/QueryTripsRunnable.java @@ -17,21 +17,13 @@ package de.schildbach.oeffi.directions; -import java.io.IOException; -import java.net.SocketException; -import java.net.SocketTimeoutException; -import java.net.UnknownHostException; -import java.util.Date; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.net.ssl.SSLException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import android.app.ProgressDialog; +import android.content.res.Resources; +import android.graphics.Typeface; +import android.os.Handler; +import android.text.SpannableStringBuilder; +import android.text.style.StyleSpan; import com.google.common.util.concurrent.Uninterruptibles; - import de.schildbach.oeffi.Constants; import de.schildbach.oeffi.R; import de.schildbach.pte.NetworkProvider; @@ -44,14 +36,18 @@ import de.schildbach.pte.exception.BlockedException; import de.schildbach.pte.exception.InternalErrorException; import de.schildbach.pte.exception.NotFoundException; import de.schildbach.pte.exception.UnexpectedRedirectException; - -import android.app.ProgressDialog; -import android.content.res.Resources; -import android.graphics.Typeface; -import android.os.Handler; -import android.text.SpannableStringBuilder; -import android.text.style.StyleSpan; import okhttp3.HttpUrl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLException; +import java.io.IOException; +import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.util.Date; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicBoolean; public abstract class QueryTripsRunnable implements Runnable { private final Resources res; diff --git a/oeffi/src/de/schildbach/oeffi/directions/TimeSpec.java b/oeffi/src/de/schildbach/oeffi/directions/TimeSpec.java index d534b33..2133558 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/TimeSpec.java +++ b/oeffi/src/de/schildbach/oeffi/directions/TimeSpec.java @@ -17,11 +17,11 @@ package de.schildbach.oeffi.directions; +import android.text.format.DateUtils; + import java.io.Serializable; import java.util.Locale; -import android.text.format.DateUtils; - public abstract class TimeSpec implements Serializable { public enum DepArr { DEPART, ARRIVE diff --git a/oeffi/src/de/schildbach/oeffi/directions/TripDetailsActivity.java b/oeffi/src/de/schildbach/oeffi/directions/TripDetailsActivity.java index a6e5ebb..7625720 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/TripDetailsActivity.java +++ b/oeffi/src/de/schildbach/oeffi/directions/TripDetailsActivity.java @@ -17,51 +17,6 @@ package de.schildbach.oeffi.directions; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.MoreObjects; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.LocationAware; -import de.schildbach.oeffi.MyActionBar; -import de.schildbach.oeffi.OeffiActivity; -import de.schildbach.oeffi.OeffiMapView; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.TripAware; -import de.schildbach.oeffi.directions.TimeSpec.DepArr; -import de.schildbach.oeffi.stations.LineView; -import de.schildbach.oeffi.stations.StationContextMenu; -import de.schildbach.oeffi.stations.StationDetailsActivity; -import de.schildbach.oeffi.util.Formats; -import de.schildbach.oeffi.util.LocationHelper; -import de.schildbach.oeffi.util.Toast; -import de.schildbach.oeffi.util.ToggleImageButton; -import de.schildbach.oeffi.util.ToggleImageButton.OnCheckedChangeListener; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.dto.Fare; -import de.schildbach.pte.dto.Line; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.Point; -import de.schildbach.pte.dto.Position; -import de.schildbach.pte.dto.Stop; -import de.schildbach.pte.dto.Style; -import de.schildbach.pte.dto.Trip; -import de.schildbach.pte.dto.Trip.Individual; -import de.schildbach.pte.dto.Trip.Leg; -import de.schildbach.pte.dto.Trip.Public; - import android.Manifest; import android.content.BroadcastReceiver; import android.content.Context; @@ -87,9 +42,7 @@ import android.text.format.DateUtils; import android.text.style.RelativeSizeSpan; import android.util.DisplayMetrics; import android.view.LayoutInflater; -import android.view.MenuItem; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.ImageButton; @@ -98,6 +51,47 @@ import android.widget.PopupMenu; import android.widget.TableLayout; import android.widget.TextView; import androidx.core.content.ContextCompat; +import com.google.common.base.MoreObjects; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.LocationAware; +import de.schildbach.oeffi.MyActionBar; +import de.schildbach.oeffi.OeffiActivity; +import de.schildbach.oeffi.OeffiMapView; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.TripAware; +import de.schildbach.oeffi.directions.TimeSpec.DepArr; +import de.schildbach.oeffi.stations.LineView; +import de.schildbach.oeffi.stations.StationContextMenu; +import de.schildbach.oeffi.stations.StationDetailsActivity; +import de.schildbach.oeffi.util.Formats; +import de.schildbach.oeffi.util.LocationHelper; +import de.schildbach.oeffi.util.Toast; +import de.schildbach.oeffi.util.ToggleImageButton; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.dto.Fare; +import de.schildbach.pte.dto.Line; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.Point; +import de.schildbach.pte.dto.Position; +import de.schildbach.pte.dto.Stop; +import de.schildbach.pte.dto.Style; +import de.schildbach.pte.dto.Trip; +import de.schildbach.pte.dto.Trip.Individual; +import de.schildbach.pte.dto.Trip.Leg; +import de.schildbach.pte.dto.Trip.Public; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import static com.google.common.base.Preconditions.checkNotNull; public class TripDetailsActivity extends OeffiActivity implements LocationListener, LocationAware { private static final String INTENT_EXTRA_NETWORK = TripDetailsActivity.class.getName() + ".network"; diff --git a/oeffi/src/de/schildbach/oeffi/directions/TripsGallery.java b/oeffi/src/de/schildbach/oeffi/directions/TripsGallery.java index d7e7f16..db6b40d 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/TripsGallery.java +++ b/oeffi/src/de/schildbach/oeffi/directions/TripsGallery.java @@ -17,17 +17,6 @@ package de.schildbach.oeffi.directions; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.List; - -import com.google.common.math.LongMath; - -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.util.Formats; -import de.schildbach.pte.dto.Trip; - import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; @@ -44,6 +33,15 @@ import android.text.format.DateUtils; import android.util.AttributeSet; import android.view.View; import android.widget.Gallery; +import com.google.common.math.LongMath; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.util.Formats; +import de.schildbach.pte.dto.Trip; + +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.List; public class TripsGallery extends Gallery { private OnScrollListener onScrollListener; diff --git a/oeffi/src/de/schildbach/oeffi/directions/TripsGalleryAdapter.java b/oeffi/src/de/schildbach/oeffi/directions/TripsGalleryAdapter.java index 5fbb146..07efab9 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/TripsGalleryAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/directions/TripsGalleryAdapter.java @@ -17,24 +17,6 @@ package de.schildbach.oeffi.directions; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import com.google.common.base.Preconditions; - -import de.schildbach.oeffi.R; -import de.schildbach.pte.dto.Line; -import de.schildbach.pte.dto.Stop; -import de.schildbach.pte.dto.Style; -import de.schildbach.pte.dto.Style.Shape; -import de.schildbach.pte.dto.Trip; -import de.schildbach.pte.dto.Trip.Individual; -import de.schildbach.pte.dto.Trip.Leg; -import de.schildbach.pte.dto.Trip.Public; - import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; @@ -58,6 +40,22 @@ import android.view.ViewGroup; import android.widget.Adapter; import android.widget.BaseAdapter; import androidx.annotation.Nullable; +import com.google.common.base.Preconditions; +import de.schildbach.oeffi.R; +import de.schildbach.pte.dto.Line; +import de.schildbach.pte.dto.Stop; +import de.schildbach.pte.dto.Style; +import de.schildbach.pte.dto.Style.Shape; +import de.schildbach.pte.dto.Trip; +import de.schildbach.pte.dto.Trip.Individual; +import de.schildbach.pte.dto.Trip.Leg; +import de.schildbach.pte.dto.Trip.Public; + +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public final class TripsGalleryAdapter extends BaseAdapter { private List trips = Collections.emptyList(); diff --git a/oeffi/src/de/schildbach/oeffi/directions/TripsOverviewActivity.java b/oeffi/src/de/schildbach/oeffi/directions/TripsOverviewActivity.java index 7c745df..7fac9dd 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/TripsOverviewActivity.java +++ b/oeffi/src/de/schildbach/oeffi/directions/TripsOverviewActivity.java @@ -17,49 +17,6 @@ package de.schildbach.oeffi.directions; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.net.SocketException; -import java.net.SocketTimeoutException; -import java.net.UnknownHostException; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.Date; -import java.util.Iterator; -import java.util.NavigableSet; -import java.util.TreeSet; -import java.util.concurrent.TimeUnit; - -import javax.net.ssl.SSLException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.collect.ComparisonChain; -import com.google.common.collect.Ordering; -import com.google.common.util.concurrent.Uninterruptibles; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.MyActionBar; -import de.schildbach.oeffi.OeffiActivity; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.directions.TripsGallery.OnScrollListener; -import de.schildbach.oeffi.network.NetworkProviderFactory; -import de.schildbach.oeffi.util.Toast; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.NetworkProvider; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.QueryTripsContext; -import de.schildbach.pte.dto.QueryTripsResult; -import de.schildbach.pte.dto.Trip; -import de.schildbach.pte.exception.InternalErrorException; -import de.schildbach.pte.exception.InvalidDataException; -import de.schildbach.pte.exception.NotFoundException; -import de.schildbach.pte.exception.SessionExpiredException; - import android.content.BroadcastReceiver; import android.content.ContentValues; import android.content.Context; @@ -72,11 +29,46 @@ import android.os.HandlerThread; import android.os.Process; import android.text.format.DateUtils; import android.view.View; -import android.view.View.OnClickListener; import android.widget.AdapterView; -import android.widget.AdapterView.OnItemClickListener; import android.widget.TextView; import androidx.annotation.Nullable; +import com.google.common.collect.ComparisonChain; +import com.google.common.collect.Ordering; +import com.google.common.util.concurrent.Uninterruptibles; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.MyActionBar; +import de.schildbach.oeffi.OeffiActivity; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.network.NetworkProviderFactory; +import de.schildbach.oeffi.util.Toast; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.NetworkProvider; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.QueryTripsContext; +import de.schildbach.pte.dto.QueryTripsResult; +import de.schildbach.pte.dto.Trip; +import de.schildbach.pte.exception.InternalErrorException; +import de.schildbach.pte.exception.InvalidDataException; +import de.schildbach.pte.exception.NotFoundException; +import de.schildbach.pte.exception.SessionExpiredException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLException; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.ObjectOutputStream; +import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.NavigableSet; +import java.util.TreeSet; +import java.util.concurrent.TimeUnit; + +import static com.google.common.base.Preconditions.checkNotNull; public class TripsOverviewActivity extends OeffiActivity { private static final String INTENT_EXTRA_NETWORK = TripsOverviewActivity.class.getName() + ".network"; diff --git a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryAdapter.java b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryAdapter.java index a5cfa1f..d5d2156 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryAdapter.java @@ -17,14 +17,6 @@ package de.schildbach.oeffi.directions.list; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.directions.QueryHistoryProvider; -import de.schildbach.oeffi.stations.FavoriteStationsProvider; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.dto.Point; - import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; @@ -36,6 +28,13 @@ import android.provider.BaseColumns; import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.directions.QueryHistoryProvider; +import de.schildbach.oeffi.stations.FavoriteStationsProvider; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.Point; public class QueryHistoryAdapter extends RecyclerView.Adapter { private final Context context; diff --git a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryContextMenuItemListener.java b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryContextMenuItemListener.java index fb6b184..74d0179 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryContextMenuItemListener.java +++ b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryContextMenuItemListener.java @@ -17,9 +17,8 @@ package de.schildbach.oeffi.directions.list; -import de.schildbach.pte.dto.Location; - import androidx.annotation.Nullable; +import de.schildbach.pte.dto.Location; public interface QueryHistoryContextMenuItemListener { boolean onQueryHistoryContextMenuItemClick(int adapterPosition, Location from, Location to, diff --git a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java index 3824af5..a888229 100644 --- a/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java +++ b/oeffi/src/de/schildbach/oeffi/directions/list/QueryHistoryViewHolder.java @@ -17,6 +17,15 @@ package de.schildbach.oeffi.directions.list; +import android.content.Context; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.SubMenu; +import android.view.View; +import android.widget.Button; +import android.widget.ImageButton; +import android.widget.PopupMenu; +import androidx.recyclerview.widget.RecyclerView; import de.schildbach.oeffi.R; import de.schildbach.oeffi.directions.LocationTextView; import de.schildbach.oeffi.stations.FavoriteStationsProvider; @@ -26,18 +35,6 @@ import de.schildbach.pte.NetworkId; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; -import android.content.Context; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.SubMenu; -import android.view.View; -import android.view.View.OnClickListener; -import android.widget.Button; -import android.widget.ImageButton; -import android.widget.PopupMenu; -import androidx.recyclerview.widget.RecyclerView; - public class QueryHistoryViewHolder extends RecyclerView.ViewHolder { private final Context context; private final NetworkId network; diff --git a/oeffi/src/de/schildbach/oeffi/network/GetAreaRunnable.java b/oeffi/src/de/schildbach/oeffi/network/GetAreaRunnable.java index 05ac2ff..4fe90ca 100644 --- a/oeffi/src/de/schildbach/oeffi/network/GetAreaRunnable.java +++ b/oeffi/src/de/schildbach/oeffi/network/GetAreaRunnable.java @@ -17,6 +17,16 @@ package de.schildbach.oeffi.network; +import android.os.Handler; +import com.google.common.util.concurrent.Uninterruptibles; +import de.schildbach.oeffi.Constants; +import de.schildbach.pte.NetworkProvider; +import de.schildbach.pte.dto.Point; +import de.schildbach.pte.exception.NotFoundException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLException; import java.io.IOException; import java.net.SocketException; import java.net.SocketTimeoutException; @@ -24,20 +34,6 @@ import java.net.UnknownHostException; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; -import javax.net.ssl.SSLException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.util.concurrent.Uninterruptibles; - -import de.schildbach.oeffi.Constants; -import de.schildbach.pte.NetworkProvider; -import de.schildbach.pte.dto.Point; -import de.schildbach.pte.exception.NotFoundException; - -import android.os.Handler; - public abstract class GetAreaRunnable implements Runnable { private final NetworkProvider networkProvider; private final Handler handler; diff --git a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java index a1663df..0bc63ee 100644 --- a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java +++ b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java @@ -17,38 +17,6 @@ package de.schildbach.oeffi.network; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import de.schildbach.oeffi.AreaAware; -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.LocationAware; -import de.schildbach.oeffi.MyActionBar; -import de.schildbach.oeffi.OeffiMapView; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.network.list.NetworkClickListener; -import de.schildbach.oeffi.network.list.NetworkContextMenuItemListener; -import de.schildbach.oeffi.network.list.NetworkListEntry; -import de.schildbach.oeffi.network.list.NetworksAdapter; -import de.schildbach.oeffi.util.DividerItemDecoration; -import de.schildbach.oeffi.util.GeocoderThread; -import de.schildbach.oeffi.util.LocationHelper; -import de.schildbach.pte.AbstractNavitiaProvider; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.NetworkProvider; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.Point; - import android.Manifest; import android.annotation.TargetApi; import android.app.Activity; @@ -70,13 +38,42 @@ import android.os.Process; import android.preference.PreferenceManager; import android.view.KeyEvent; import android.view.View; -import android.widget.FrameLayout; import android.widget.LinearLayout; import android.widget.TextView; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.AreaAware; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.LocationAware; +import de.schildbach.oeffi.MyActionBar; +import de.schildbach.oeffi.OeffiMapView; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.network.list.NetworkClickListener; +import de.schildbach.oeffi.network.list.NetworkContextMenuItemListener; +import de.schildbach.oeffi.network.list.NetworkListEntry; +import de.schildbach.oeffi.network.list.NetworksAdapter; +import de.schildbach.oeffi.util.DividerItemDecoration; +import de.schildbach.oeffi.util.GeocoderThread; +import de.schildbach.oeffi.util.LocationHelper; +import de.schildbach.pte.AbstractNavitiaProvider; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.NetworkProvider; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.Point; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.Map; public class NetworkPickerActivity extends Activity implements ActivityCompat.OnRequestPermissionsResultCallback, LocationHelper.Callback, NetworkClickListener, NetworkContextMenuItemListener { diff --git a/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java b/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java index f567af2..4c524f3 100644 --- a/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java +++ b/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java @@ -17,11 +17,8 @@ package de.schildbach.oeffi.network; -import java.util.HashMap; -import java.util.Map; - +import android.os.Build; import com.google.common.base.Charsets; - import de.schildbach.pte.AbstractNetworkProvider; import de.schildbach.pte.AvvAachenProvider; import de.schildbach.pte.AvvProvider; @@ -82,10 +79,11 @@ import de.schildbach.pte.VvsProvider; import de.schildbach.pte.VvvProvider; import de.schildbach.pte.WienProvider; import de.schildbach.pte.ZvvProvider; - -import android.os.Build; import okhttp3.HttpUrl; +import java.util.HashMap; +import java.util.Map; + public final class NetworkProviderFactory { private static Map providerCache = new HashMap<>(); diff --git a/oeffi/src/de/schildbach/oeffi/network/NetworkResources.java b/oeffi/src/de/schildbach/oeffi/network/NetworkResources.java index dcfd496..a4b3f61 100644 --- a/oeffi/src/de/schildbach/oeffi/network/NetworkResources.java +++ b/oeffi/src/de/schildbach/oeffi/network/NetworkResources.java @@ -17,15 +17,15 @@ package de.schildbach.oeffi.network; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Locale; - import android.content.Context; import android.content.res.Resources; import android.graphics.drawable.Drawable; import androidx.annotation.Nullable; +import java.util.Locale; + +import static com.google.common.base.Preconditions.checkNotNull; + public class NetworkResources { public final @Nullable Drawable icon; public final boolean isLogo; diff --git a/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java b/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java index 428c7f3..a69da13 100644 --- a/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java +++ b/oeffi/src/de/schildbach/oeffi/network/list/NetworkViewHolder.java @@ -17,12 +17,8 @@ package de.schildbach.oeffi.network.list; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.network.NetworkResources; - import android.content.Context; import android.content.res.Resources; -import android.view.MenuItem; import android.view.View; import android.widget.ImageButton; import android.widget.ImageView; @@ -30,6 +26,8 @@ import android.widget.PopupMenu; import android.widget.TextView; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.network.NetworkResources; public class NetworkViewHolder extends RecyclerView.ViewHolder { private final Context context; diff --git a/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java b/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java index af08a8b..87ee4b4 100644 --- a/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/network/list/NetworksAdapter.java @@ -17,15 +17,14 @@ package de.schildbach.oeffi.network.list; -import java.util.LinkedList; -import java.util.List; - -import de.schildbach.oeffi.R; - import android.content.Context; import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.R; + +import java.util.LinkedList; +import java.util.List; public class NetworksAdapter extends RecyclerView.Adapter { private final Context context; diff --git a/oeffi/src/de/schildbach/oeffi/plans/PlanActivity.java b/oeffi/src/de/schildbach/oeffi/plans/PlanActivity.java index 25f6134..4add82b 100644 --- a/oeffi/src/de/schildbach/oeffi/plans/PlanActivity.java +++ b/oeffi/src/de/schildbach/oeffi/plans/PlanActivity.java @@ -17,30 +17,35 @@ package de.schildbach.oeffi.plans; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.io.File; -import java.io.IOException; -import java.net.HttpURLConnection; -import java.util.LinkedList; -import java.util.List; -import java.util.Locale; -import java.util.Set; -import java.util.TreeSet; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import android.app.Activity; +import android.app.SearchManager; +import android.content.Context; +import android.content.Intent; +import android.database.Cursor; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Process; +import android.view.View; +import android.view.Window; +import android.view.WindowManager; +import android.view.animation.Animation; +import android.view.animation.AnimationUtils; +import android.widget.PopupMenu; +import android.widget.TextView; +import android.widget.ViewAnimator; +import androidx.annotation.Nullable; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; - import de.schildbach.oeffi.Application; import de.schildbach.oeffi.Constants; import de.schildbach.oeffi.R; import de.schildbach.oeffi.StationsAware; import de.schildbach.oeffi.network.NetworkProviderFactory; -import de.schildbach.oeffi.plans.ScrollImageView.OnMoveListener; import de.schildbach.oeffi.stations.LineView; import de.schildbach.oeffi.stations.QueryDeparturesRunnable; import de.schildbach.oeffi.stations.Station; @@ -60,31 +65,20 @@ import de.schildbach.pte.dto.LocationType; import de.schildbach.pte.dto.Point; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.StationDepartures; - -import android.app.Activity; -import android.app.SearchManager; -import android.content.Context; -import android.content.Intent; -import android.database.Cursor; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Process; -import android.view.MenuItem; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.Window; -import android.view.WindowManager; -import android.view.animation.Animation; -import android.view.animation.AnimationUtils; -import android.widget.PopupMenu; -import android.widget.TextView; -import android.widget.ViewAnimator; -import androidx.annotation.Nullable; import okhttp3.HttpUrl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.Set; +import java.util.TreeSet; + +import static com.google.common.base.Preconditions.checkNotNull; public class PlanActivity extends Activity { public static final String INTENT_EXTRA_PLAN_ID = "plan_id"; // Used in launcher shortcuts diff --git a/oeffi/src/de/schildbach/oeffi/plans/PlanContentProvider.java b/oeffi/src/de/schildbach/oeffi/plans/PlanContentProvider.java index f30cda4..3517dbc 100644 --- a/oeffi/src/de/schildbach/oeffi/plans/PlanContentProvider.java +++ b/oeffi/src/de/schildbach/oeffi/plans/PlanContentProvider.java @@ -17,7 +17,30 @@ package de.schildbach.oeffi.plans; -import static com.google.common.base.Preconditions.checkNotNull; +import android.app.SearchManager; +import android.content.ContentProvider; +import android.content.ContentValues; +import android.database.Cursor; +import android.database.CursorWrapper; +import android.database.MatrixCursor; +import android.net.Uri; +import android.provider.BaseColumns; +import androidx.annotation.Nullable; +import com.google.common.base.Objects; +import com.google.common.base.Splitter; +import com.google.common.base.Strings; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.MoreExecutors; +import de.schildbach.oeffi.Application; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.util.Downloader; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.dto.Point; +import okhttp3.HttpUrl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.File; @@ -37,33 +60,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Locale; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Objects; -import com.google.common.base.Splitter; -import com.google.common.base.Strings; -import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.MoreExecutors; - -import de.schildbach.oeffi.Application; -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.util.Downloader; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.dto.Point; - -import android.app.SearchManager; -import android.content.ContentProvider; -import android.content.ContentValues; -import android.database.Cursor; -import android.database.CursorWrapper; -import android.database.MatrixCursor; -import android.net.Uri; -import android.provider.BaseColumns; -import androidx.annotation.Nullable; -import okhttp3.HttpUrl; +import static com.google.common.base.Preconditions.checkNotNull; public class PlanContentProvider extends ContentProvider { public static final Uri CONTENT_URI = Uri.parse("content://de.schildbach.oeffi.plans"); diff --git a/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java b/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java index 89b17dd..c82560b 100644 --- a/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java +++ b/oeffi/src/de/schildbach/oeffi/plans/PlansPickerActivity.java @@ -17,31 +17,6 @@ package de.schildbach.oeffi.plans; -import java.io.File; -import java.net.HttpURLConnection; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.util.concurrent.FutureCallback; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListenableFuture; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.MyActionBar; -import de.schildbach.oeffi.OeffiMainActivity; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.plans.list.PlanClickListener; -import de.schildbach.oeffi.plans.list.PlanContextMenuItemListener; -import de.schildbach.oeffi.plans.list.PlansAdapter; -import de.schildbach.oeffi.util.ConnectivityBroadcastReceiver; -import de.schildbach.oeffi.util.DividerItemDecoration; -import de.schildbach.oeffi.util.Downloader; -import de.schildbach.oeffi.util.LocationHelper; -import de.schildbach.oeffi.util.Toast; -import de.schildbach.oeffi.util.UiThreadExecutor; -import de.schildbach.pte.dto.Point; - import android.Manifest; import android.app.SearchManager; import android.content.BroadcastReceiver; @@ -57,7 +32,6 @@ import android.net.ConnectivityManager; import android.net.Uri; import android.os.Bundle; import android.view.View; -import android.view.View.OnClickListener; import android.widget.TextView; import androidx.annotation.Nullable; import androidx.core.app.ActivityCompat; @@ -67,8 +41,30 @@ import androidx.core.content.pm.ShortcutManagerCompat; import androidx.core.graphics.drawable.IconCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.google.common.util.concurrent.FutureCallback; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.MyActionBar; +import de.schildbach.oeffi.OeffiMainActivity; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.plans.list.PlanClickListener; +import de.schildbach.oeffi.plans.list.PlanContextMenuItemListener; +import de.schildbach.oeffi.plans.list.PlansAdapter; +import de.schildbach.oeffi.util.ConnectivityBroadcastReceiver; +import de.schildbach.oeffi.util.DividerItemDecoration; +import de.schildbach.oeffi.util.Downloader; +import de.schildbach.oeffi.util.LocationHelper; +import de.schildbach.oeffi.util.Toast; +import de.schildbach.oeffi.util.UiThreadExecutor; +import de.schildbach.pte.dto.Point; import okhttp3.Cache; import okhttp3.HttpUrl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.net.HttpURLConnection; public class PlansPickerActivity extends OeffiMainActivity implements ActivityCompat.OnRequestPermissionsResultCallback, LocationHelper.Callback, PlanClickListener, PlanContextMenuItemListener { diff --git a/oeffi/src/de/schildbach/oeffi/plans/ScrollImageView.java b/oeffi/src/de/schildbach/oeffi/plans/ScrollImageView.java index 3d74675..ab6fc44 100644 --- a/oeffi/src/de/schildbach/oeffi/plans/ScrollImageView.java +++ b/oeffi/src/de/schildbach/oeffi/plans/ScrollImageView.java @@ -17,12 +17,6 @@ package de.schildbach.oeffi.plans; -import java.util.List; - -import de.schildbach.oeffi.StationsAware; -import de.schildbach.oeffi.stations.Station; -import de.schildbach.oeffi.util.UpGestureDetector; - import android.content.Context; import android.graphics.Matrix; import android.graphics.drawable.Drawable; @@ -35,6 +29,11 @@ import android.view.ScaleGestureDetector; import android.view.animation.DecelerateInterpolator; import android.widget.ImageView; import android.widget.Scroller; +import de.schildbach.oeffi.StationsAware; +import de.schildbach.oeffi.stations.Station; +import de.schildbach.oeffi.util.UpGestureDetector; + +import java.util.List; public class ScrollImageView extends ImageView implements Runnable { private OnMoveListener onMoveListener; diff --git a/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java b/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java index 0d2a885..57693fa 100644 --- a/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java +++ b/oeffi/src/de/schildbach/oeffi/plans/list/PlanViewHolder.java @@ -17,15 +17,9 @@ package de.schildbach.oeffi.plans.list; -import java.util.Date; - -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.network.NetworkResources; - import android.content.Context; import android.graphics.drawable.Drawable; import android.text.format.DateFormat; -import android.view.MenuItem; import android.view.View; import android.view.animation.Animation; import android.view.animation.Animation.AnimationListener; @@ -37,8 +31,12 @@ import android.widget.ProgressBar; import android.widget.TextView; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.network.NetworkResources; import okhttp3.Call; +import java.util.Date; + public class PlanViewHolder extends RecyclerView.ViewHolder { private final Context context; private final java.text.DateFormat dateFormat; diff --git a/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java b/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java index 9b31b19..bbf2b66 100644 --- a/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/plans/list/PlansAdapter.java @@ -17,18 +17,6 @@ package de.schildbach.oeffi.plans.list; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.io.File; -import java.io.IOException; -import java.util.Date; -import java.util.List; - -import de.schildbach.oeffi.Application; -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.plans.PlanContentProvider; - import android.content.Context; import android.content.res.Resources; import android.database.Cursor; @@ -40,6 +28,9 @@ import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.plans.PlanContentProvider; import okhttp3.Cache; import okhttp3.Call; import okhttp3.Callback; @@ -48,6 +39,13 @@ import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +import java.io.File; +import java.io.IOException; +import java.util.Date; +import java.util.List; + +import static com.google.common.base.Preconditions.checkNotNull; + public class PlansAdapter extends RecyclerView.Adapter { private final Context context; private final Resources res; diff --git a/oeffi/src/de/schildbach/oeffi/preference/AboutFragment.java b/oeffi/src/de/schildbach/oeffi/preference/AboutFragment.java index 142a3e6..3e9c557 100644 --- a/oeffi/src/de/schildbach/oeffi/preference/AboutFragment.java +++ b/oeffi/src/de/schildbach/oeffi/preference/AboutFragment.java @@ -21,7 +21,6 @@ import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; -import android.preference.Preference; import android.preference.PreferenceFragment; import androidx.annotation.Nullable; import de.schildbach.oeffi.Application; diff --git a/oeffi/src/de/schildbach/oeffi/preference/CommonFragment.java b/oeffi/src/de/schildbach/oeffi/preference/CommonFragment.java index e015564..a1bc3ec 100644 --- a/oeffi/src/de/schildbach/oeffi/preference/CommonFragment.java +++ b/oeffi/src/de/schildbach/oeffi/preference/CommonFragment.java @@ -17,14 +17,11 @@ package de.schildbach.oeffi.preference; -import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.preference.PreferenceFragment; -import android.provider.Settings; import androidx.annotation.Nullable; import de.schildbach.oeffi.R; -import de.schildbach.oeffi.network.NetworkPickerActivity; public class CommonFragment extends PreferenceFragment { private static final String KEY_BATTERY_OPTIMIZATIONS = "battery_optimizations"; diff --git a/oeffi/src/de/schildbach/oeffi/preference/DonateFragment.java b/oeffi/src/de/schildbach/oeffi/preference/DonateFragment.java index b1d0dc3..6c511c5 100644 --- a/oeffi/src/de/schildbach/oeffi/preference/DonateFragment.java +++ b/oeffi/src/de/schildbach/oeffi/preference/DonateFragment.java @@ -18,7 +18,6 @@ package de.schildbach.oeffi.preference; import android.os.Bundle; -import android.preference.Preference; import android.preference.PreferenceFragment; import androidx.annotation.Nullable; import de.schildbach.oeffi.Constants; diff --git a/oeffi/src/de/schildbach/oeffi/stations/CompassNeedleView.java b/oeffi/src/de/schildbach/oeffi/stations/CompassNeedleView.java index 8e47634..4dd28c7 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/CompassNeedleView.java +++ b/oeffi/src/de/schildbach/oeffi/stations/CompassNeedleView.java @@ -17,8 +17,6 @@ package de.schildbach.oeffi.stations; -import static com.google.common.base.Preconditions.checkArgument; - import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; @@ -28,6 +26,8 @@ import android.util.AttributeSet; import android.view.Surface; import android.view.View; +import static com.google.common.base.Preconditions.checkArgument; + public final class CompassNeedleView extends View { public interface Callback { Float getDeviceBearing(); diff --git a/oeffi/src/de/schildbach/oeffi/stations/DecodeForeignActivity.java b/oeffi/src/de/schildbach/oeffi/stations/DecodeForeignActivity.java index 9261ba3..58b020b 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/DecodeForeignActivity.java +++ b/oeffi/src/de/schildbach/oeffi/stations/DecodeForeignActivity.java @@ -17,31 +17,27 @@ package de.schildbach.oeffi.stations; -import java.io.IOException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - +import android.app.Activity; +import android.app.ProgressDialog; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; import de.schildbach.oeffi.Application; import de.schildbach.oeffi.R; import de.schildbach.oeffi.util.DialogBuilder; import de.schildbach.pte.NetworkId; import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; - -import android.app.Activity; -import android.app.ProgressDialog; -import android.content.DialogInterface; -import android.content.DialogInterface.OnCancelListener; -import android.content.DialogInterface.OnClickListener; -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.Request; import okhttp3.Response; +import java.io.IOException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + public class DecodeForeignActivity extends Activity { private static final Pattern PATTERN_META_REFRESH = Pattern .compile(" lines = null; diff --git a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetListService.java b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetListService.java index 8065ee8..b9c8a88 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetListService.java +++ b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetListService.java @@ -17,18 +17,6 @@ package de.schildbach.oeffi.stations; -import java.util.Date; -import java.util.List; -import java.util.Locale; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.util.Objects; -import de.schildbach.pte.dto.Departure; -import de.schildbach.pte.dto.Line; -import de.schildbach.pte.dto.Position; -import de.schildbach.pte.dto.Style; - import android.content.Context; import android.content.Intent; import android.graphics.Typeface; @@ -40,6 +28,17 @@ import android.text.style.StyleSpan; import android.view.View; import android.widget.RemoteViews; import android.widget.RemoteViewsService; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.util.Objects; +import de.schildbach.pte.dto.Departure; +import de.schildbach.pte.dto.Line; +import de.schildbach.pte.dto.Position; +import de.schildbach.pte.dto.Style; + +import java.util.Date; +import java.util.List; +import java.util.Locale; public class NearestFavoriteStationWidgetListService extends RemoteViewsService { public static final String INTENT_EXTRA_DEPARTURES = RemoteViewsFactory.class.getName() + ".departures"; diff --git a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java index e7d0b8d..086cda1 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java +++ b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java @@ -17,37 +17,6 @@ package de.schildbach.oeffi.stations; -import java.net.ConnectException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Date; -import java.util.List; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import javax.net.ssl.SSLException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Throwables; -import com.google.common.util.concurrent.SettableFuture; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.network.NetworkProviderFactory; -import de.schildbach.oeffi.util.Formats; -import de.schildbach.oeffi.util.Objects; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.NetworkProvider; -import de.schildbach.pte.dto.Departure; -import de.schildbach.pte.dto.Point; -import de.schildbach.pte.dto.QueryDeparturesResult; -import de.schildbach.pte.dto.StationDepartures; -import de.schildbach.pte.exception.BlockedException; - import android.Manifest; import android.app.PendingIntent; import android.appwidget.AppWidgetManager; @@ -74,6 +43,33 @@ import android.widget.RemoteViews; import androidx.core.app.JobIntentService; import androidx.core.app.NotificationCompat; import androidx.core.content.ContextCompat; +import com.google.common.base.Throwables; +import com.google.common.util.concurrent.SettableFuture; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.network.NetworkProviderFactory; +import de.schildbach.oeffi.util.Formats; +import de.schildbach.oeffi.util.Objects; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.NetworkProvider; +import de.schildbach.pte.dto.Departure; +import de.schildbach.pte.dto.Point; +import de.schildbach.pte.dto.QueryDeparturesResult; +import de.schildbach.pte.dto.StationDepartures; +import de.schildbach.pte.exception.BlockedException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLException; +import java.net.ConnectException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; public class NearestFavoriteStationWidgetService extends JobIntentService { private AppWidgetManager appWidgetManager; diff --git a/oeffi/src/de/schildbach/oeffi/stations/QueryDeparturesRunnable.java b/oeffi/src/de/schildbach/oeffi/stations/QueryDeparturesRunnable.java index bd17213..f664260 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/QueryDeparturesRunnable.java +++ b/oeffi/src/de/schildbach/oeffi/stations/QueryDeparturesRunnable.java @@ -17,20 +17,8 @@ package de.schildbach.oeffi.stations; -import java.io.IOException; -import java.net.SocketException; -import java.net.SocketTimeoutException; -import java.net.UnknownHostException; -import java.util.Date; -import java.util.concurrent.TimeUnit; - -import javax.net.ssl.SSLException; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import android.os.Handler; import com.google.common.util.concurrent.Uninterruptibles; - import de.schildbach.oeffi.Constants; import de.schildbach.oeffi.R; import de.schildbach.pte.NetworkProvider; @@ -40,9 +28,17 @@ import de.schildbach.pte.exception.InternalErrorException; import de.schildbach.pte.exception.NotFoundException; import de.schildbach.pte.exception.ParserException; import de.schildbach.pte.exception.UnexpectedRedirectException; - -import android.os.Handler; import okhttp3.HttpUrl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.net.ssl.SSLException; +import java.io.IOException; +import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.util.Date; +import java.util.concurrent.TimeUnit; public abstract class QueryDeparturesRunnable implements Runnable { private final Handler handler; diff --git a/oeffi/src/de/schildbach/oeffi/stations/Station.java b/oeffi/src/de/schildbach/oeffi/stations/Station.java index 7ea7b61..52b5c07 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/Station.java +++ b/oeffi/src/de/schildbach/oeffi/stations/Station.java @@ -17,12 +17,7 @@ package de.schildbach.oeffi.stations; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.Date; -import java.util.EnumSet; -import java.util.List; - +import androidx.annotation.Nullable; import de.schildbach.pte.NetworkId; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.LineDestination; @@ -30,7 +25,11 @@ import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.QueryDeparturesResult; -import androidx.annotation.Nullable; +import java.util.Date; +import java.util.EnumSet; +import java.util.List; + +import static com.google.common.base.Preconditions.checkNotNull; public class Station { public final NetworkId network; diff --git a/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java b/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java index 4138783..0f09dc0 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java +++ b/oeffi/src/de/schildbach/oeffi/stations/StationContextMenu.java @@ -17,26 +17,10 @@ package de.schildbach.oeffi.stations; -import java.net.URLEncoder; -import java.util.Locale; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.directions.DirectionsActivity; -import de.schildbach.oeffi.directions.DirectionsShortcutActivity; -import de.schildbach.oeffi.plans.PlanActivity; -import de.schildbach.oeffi.plans.PlanContentProvider; -import de.schildbach.oeffi.util.DialogBuilder; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.dto.Location; - import android.app.AlertDialog; import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.database.Cursor; @@ -51,6 +35,19 @@ import android.widget.PopupMenu; import androidx.core.content.pm.ShortcutInfoCompat; import androidx.core.content.pm.ShortcutManagerCompat; import androidx.core.graphics.drawable.IconCompat; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.directions.DirectionsActivity; +import de.schildbach.oeffi.directions.DirectionsShortcutActivity; +import de.schildbach.oeffi.plans.PlanActivity; +import de.schildbach.oeffi.plans.PlanContentProvider; +import de.schildbach.oeffi.util.DialogBuilder; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.dto.Location; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URLEncoder; +import java.util.Locale; public class StationContextMenu extends PopupMenu { private static final Logger log = LoggerFactory.getLogger(StationContextMenu.class); diff --git a/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java b/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java index 81b3c92..802ba48 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java +++ b/oeffi/src/de/schildbach/oeffi/stations/StationDetailsActivity.java @@ -17,47 +17,6 @@ package de.schildbach.oeffi.stations; -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.io.IOException; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.osmdroid.util.GeoPoint; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Joiner; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.MyActionBar; -import de.schildbach.oeffi.OeffiActivity; -import de.schildbach.oeffi.OeffiMapView; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.StationsAware; -import de.schildbach.oeffi.network.NetworkProviderFactory; -import de.schildbach.oeffi.util.DividerItemDecoration; -import de.schildbach.oeffi.util.Formats; -import de.schildbach.oeffi.util.ToggleImageButton; -import de.schildbach.oeffi.util.ToggleImageButton.OnCheckedChangeListener; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.NetworkProvider; -import de.schildbach.pte.dto.Departure; -import de.schildbach.pte.dto.Line; -import de.schildbach.pte.dto.LineDestination; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.dto.QueryDeparturesResult; -import de.schildbach.pte.dto.StationDepartures; - import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -74,7 +33,6 @@ import android.text.format.DateFormat; import android.text.format.DateUtils; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.WindowManager; import android.widget.LinearLayout; @@ -83,6 +41,43 @@ import android.widget.ViewAnimator; import androidx.annotation.Nullable; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.google.common.base.Joiner; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.MyActionBar; +import de.schildbach.oeffi.OeffiActivity; +import de.schildbach.oeffi.OeffiMapView; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.StationsAware; +import de.schildbach.oeffi.network.NetworkProviderFactory; +import de.schildbach.oeffi.util.DividerItemDecoration; +import de.schildbach.oeffi.util.Formats; +import de.schildbach.oeffi.util.ToggleImageButton; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.NetworkProvider; +import de.schildbach.pte.dto.Departure; +import de.schildbach.pte.dto.Line; +import de.schildbach.pte.dto.LineDestination; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.QueryDeparturesResult; +import de.schildbach.pte.dto.StationDepartures; +import org.osmdroid.util.GeoPoint; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; public class StationDetailsActivity extends OeffiActivity implements StationsAware { private static final String INTENT_EXTRA_NETWORK = StationDetailsActivity.class.getName() + ".network"; diff --git a/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java b/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java index 75d458e..5dfcbd3 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java +++ b/oeffi/src/de/schildbach/oeffi/stations/StationsActivity.java @@ -17,32 +17,51 @@ package de.schildbach.oeffi.stations; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; - -import org.osmdroid.util.BoundingBox; -import org.osmdroid.util.GeoPoint; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - +import android.Manifest; +import android.app.Dialog; +import android.app.SearchManager; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.pm.PackageManager; +import android.content.res.Configuration; +import android.content.res.Resources; +import android.graphics.Canvas; +import android.graphics.Typeface; +import android.graphics.drawable.Drawable; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; +import android.hardware.SensorManager; +import android.location.Criteria; +import android.location.LocationListener; +import android.location.LocationManager; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.net.Uri; +import android.os.AsyncTask; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Process; +import android.provider.Settings; +import android.text.format.DateUtils; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; +import android.widget.ViewAnimator; +import androidx.annotation.Nullable; +import androidx.core.app.ActivityCompat; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.ItemTouchHelper; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import com.google.common.collect.ComparisonChain; import com.google.common.collect.Ordering; import com.google.common.primitives.Ints; - import de.schildbach.oeffi.Constants; import de.schildbach.oeffi.LocationAware; import de.schildbach.oeffi.MyActionBar; @@ -75,53 +94,26 @@ import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.QueryDeparturesResult; import de.schildbach.pte.dto.StationDepartures; import de.schildbach.pte.dto.SuggestLocationsResult; - -import android.Manifest; -import android.app.Dialog; -import android.app.SearchManager; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.DialogInterface; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.PackageManager; -import android.content.res.Configuration; -import android.content.res.Resources; -import android.graphics.Canvas; -import android.graphics.Typeface; -import android.graphics.drawable.Drawable; -import android.hardware.Sensor; -import android.hardware.SensorEvent; -import android.hardware.SensorEventListener; -import android.hardware.SensorManager; -import android.location.Criteria; -import android.location.LocationListener; -import android.location.LocationManager; -import android.net.ConnectivityManager; -import android.net.NetworkInfo; -import android.net.Uri; -import android.os.AsyncTask; -import android.os.Bundle; -import android.os.Handler; -import android.os.HandlerThread; -import android.os.Process; -import android.provider.Settings; -import android.text.format.DateUtils; -import android.view.MenuItem; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.PopupMenu; -import android.widget.TextView; -import android.widget.ViewAnimator; -import androidx.annotation.Nullable; -import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.ItemTouchHelper; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; import okhttp3.HttpUrl; +import org.osmdroid.util.GeoPoint; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; public class StationsActivity extends OeffiMainActivity implements StationsAware, LocationAware, ActivityCompat.OnRequestPermissionsResultCallback, StationContextMenuItemListener { diff --git a/oeffi/src/de/schildbach/oeffi/stations/StationsFilterPopup.java b/oeffi/src/de/schildbach/oeffi/stations/StationsFilterPopup.java index 8f4c34b..408f34b 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/StationsFilterPopup.java +++ b/oeffi/src/de/schildbach/oeffi/stations/StationsFilterPopup.java @@ -17,12 +17,6 @@ package de.schildbach.oeffi.stations; -import java.util.HashSet; -import java.util.Set; - -import de.schildbach.oeffi.R; -import de.schildbach.pte.dto.Product; - import android.content.Context; import android.view.LayoutInflater; import android.view.View; @@ -31,6 +25,11 @@ import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.PopupWindow; +import de.schildbach.oeffi.R; +import de.schildbach.pte.dto.Product; + +import java.util.HashSet; +import java.util.Set; public class StationsFilterPopup extends PopupWindow implements CompoundButton.OnCheckedChangeListener, OnLongClickListener { diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java index 6e1064a..c28372b 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java +++ b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationViewHolder.java @@ -17,6 +17,13 @@ package de.schildbach.oeffi.stations.list; +import android.content.Context; +import android.content.res.Resources; +import android.view.View; +import android.widget.ImageButton; +import android.widget.PopupMenu; +import android.widget.TextView; +import androidx.recyclerview.widget.RecyclerView; import de.schildbach.oeffi.R; import de.schildbach.oeffi.network.NetworkResources; import de.schildbach.oeffi.stations.FavoriteStationsProvider; @@ -24,16 +31,6 @@ import de.schildbach.oeffi.stations.StationContextMenu; import de.schildbach.pte.NetworkId; import de.schildbach.pte.dto.Location; -import android.content.Context; -import android.content.res.Resources; -import android.view.MenuItem; -import android.view.View; -import android.widget.ImageButton; -import android.widget.PopupMenu; -import android.widget.PopupMenu.OnMenuItemClickListener; -import android.widget.TextView; -import androidx.recyclerview.widget.RecyclerView; - public class FavoriteStationViewHolder extends RecyclerView.ViewHolder { private final Context context; private final StationClickListener clickListener; diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java index 6c1f74f..45619c1 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/stations/list/FavoriteStationsAdapter.java @@ -17,11 +17,6 @@ package de.schildbach.oeffi.stations.list; -import de.schildbach.oeffi.R; -import de.schildbach.oeffi.stations.FavoriteStationsProvider; -import de.schildbach.pte.NetworkId; -import de.schildbach.pte.dto.Location; - import android.content.ContentResolver; import android.content.Context; import android.database.Cursor; @@ -31,6 +26,10 @@ import android.view.LayoutInflater; import android.view.ViewGroup; import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.R; +import de.schildbach.oeffi.stations.FavoriteStationsProvider; +import de.schildbach.pte.NetworkId; +import de.schildbach.pte.dto.Location; public class FavoriteStationsAdapter extends RecyclerView.Adapter { private final Context context; diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/StationContextMenuItemListener.java b/oeffi/src/de/schildbach/oeffi/stations/list/StationContextMenuItemListener.java index aa93d1a..3902e63 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/list/StationContextMenuItemListener.java +++ b/oeffi/src/de/schildbach/oeffi/stations/list/StationContextMenuItemListener.java @@ -17,13 +17,12 @@ package de.schildbach.oeffi.stations.list; -import java.util.List; - +import androidx.annotation.Nullable; import de.schildbach.pte.NetworkId; import de.schildbach.pte.dto.Departure; import de.schildbach.pte.dto.Location; -import androidx.annotation.Nullable; +import java.util.List; public interface StationContextMenuItemListener { boolean onStationContextMenuItemClick(int adapterPosition, NetworkId network, Location station, diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java b/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java index 147c14f..402b6a3 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java +++ b/oeffi/src/de/schildbach/oeffi/stations/list/StationViewHolder.java @@ -17,16 +17,22 @@ package de.schildbach.oeffi.stations.list; -import java.util.Date; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; - +import android.content.Context; +import android.content.res.Resources; +import android.graphics.Color; +import android.graphics.Typeface; +import android.text.format.DateUtils; +import android.view.Display; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; +import android.widget.ImageButton; +import android.widget.PopupMenu; +import android.widget.TextView; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.RecyclerView; import com.google.common.base.Joiner; - import de.schildbach.oeffi.Constants; import de.schildbach.oeffi.R; import de.schildbach.oeffi.stations.CompassNeedleView; @@ -44,23 +50,13 @@ import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.Product; import de.schildbach.pte.dto.QueryDeparturesResult; -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Color; -import android.graphics.Typeface; -import android.text.format.DateUtils; -import android.view.Display; -import android.view.LayoutInflater; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.view.WindowManager; -import android.widget.ImageButton; -import android.widget.PopupMenu; -import android.widget.PopupMenu.OnMenuItemClickListener; -import android.widget.TextView; -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.RecyclerView; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; public class StationViewHolder extends RecyclerView.ViewHolder { public final View favoriteView; diff --git a/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java b/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java index a788d47..f284a73 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/stations/list/StationsAdapter.java @@ -17,22 +17,20 @@ package de.schildbach.oeffi.stations.list; -import static com.google.common.base.Preconditions.checkArgument; - -import java.util.List; -import java.util.Set; - +import android.content.Context; +import android.view.LayoutInflater; +import android.view.ViewGroup; +import androidx.recyclerview.widget.RecyclerView; import de.schildbach.oeffi.R; import de.schildbach.oeffi.StationsAware; import de.schildbach.oeffi.stations.CompassNeedleView; import de.schildbach.oeffi.stations.Station; import de.schildbach.pte.dto.Product; -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import androidx.recyclerview.widget.RecyclerView; +import java.util.List; +import java.util.Set; + +import static com.google.common.base.Preconditions.checkArgument; public class StationsAdapter extends RecyclerView.Adapter implements CompassNeedleView.Callback { private final Context context; diff --git a/oeffi/src/de/schildbach/oeffi/util/ChangelogDialogBuilder.java b/oeffi/src/de/schildbach/oeffi/util/ChangelogDialogBuilder.java index 8e0f4a9..75bec35 100644 --- a/oeffi/src/de/schildbach/oeffi/util/ChangelogDialogBuilder.java +++ b/oeffi/src/de/schildbach/oeffi/util/ChangelogDialogBuilder.java @@ -17,12 +17,8 @@ package de.schildbach.oeffi.util; -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; - import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; import android.os.Build; import android.view.LayoutInflater; import android.view.View; @@ -30,6 +26,8 @@ import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import androidx.annotation.Nullable; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; import okhttp3.HttpUrl; public class ChangelogDialogBuilder extends AlertDialog.Builder { diff --git a/oeffi/src/de/schildbach/oeffi/util/ConnectivityBroadcastReceiver.java b/oeffi/src/de/schildbach/oeffi/util/ConnectivityBroadcastReceiver.java index 550878e..33bbfad 100644 --- a/oeffi/src/de/schildbach/oeffi/util/ConnectivityBroadcastReceiver.java +++ b/oeffi/src/de/schildbach/oeffi/util/ConnectivityBroadcastReceiver.java @@ -17,14 +17,13 @@ package de.schildbach.oeffi.util; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public abstract class ConnectivityBroadcastReceiver extends BroadcastReceiver { diff --git a/oeffi/src/de/schildbach/oeffi/util/DialogBuilder.java b/oeffi/src/de/schildbach/oeffi/util/DialogBuilder.java index 1064d5f..bb0cc12 100644 --- a/oeffi/src/de/schildbach/oeffi/util/DialogBuilder.java +++ b/oeffi/src/de/schildbach/oeffi/util/DialogBuilder.java @@ -17,11 +17,10 @@ package de.schildbach.oeffi.util; -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; - import android.app.AlertDialog; import android.content.Context; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; public class DialogBuilder extends AlertDialog.Builder { public static DialogBuilder get(final Context context) { diff --git a/oeffi/src/de/schildbach/oeffi/util/Downloader.java b/oeffi/src/de/schildbach/oeffi/util/Downloader.java index a487f12..d03b094 100644 --- a/oeffi/src/de/schildbach/oeffi/util/Downloader.java +++ b/oeffi/src/de/schildbach/oeffi/util/Downloader.java @@ -17,7 +17,21 @@ package de.schildbach.oeffi.util; -import static com.google.common.base.Preconditions.checkState; +import androidx.annotation.Nullable; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.SettableFuture; +import com.google.common.util.concurrent.Striped; +import de.schildbach.oeffi.util.bzip2.BZip2CompressorInputStream; +import okhttp3.Call; +import okhttp3.Callback; +import okhttp3.Headers; +import okhttp3.HttpUrl; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.ResponseBody; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.File; @@ -32,24 +46,7 @@ import java.util.Date; import java.util.Random; import java.util.concurrent.Semaphore; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.util.concurrent.ListenableFuture; -import com.google.common.util.concurrent.SettableFuture; -import com.google.common.util.concurrent.Striped; - -import de.schildbach.oeffi.util.bzip2.BZip2CompressorInputStream; - -import androidx.annotation.Nullable; -import okhttp3.Call; -import okhttp3.Callback; -import okhttp3.Headers; -import okhttp3.HttpUrl; -import okhttp3.OkHttpClient; -import okhttp3.Request; -import okhttp3.Response; -import okhttp3.ResponseBody; +import static com.google.common.base.Preconditions.checkState; public class Downloader { private final File cacheDir; diff --git a/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java b/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java index c2ace10..fe684a5 100644 --- a/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java +++ b/oeffi/src/de/schildbach/oeffi/util/ErrorReporter.java @@ -17,36 +17,8 @@ package de.schildbach.oeffi.util; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.io.IOException; -import java.io.PrintWriter; -import java.io.StringWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.Date; -import java.util.Formatter; -import java.util.Locale; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Joiner; -import com.google.common.base.Strings; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; -import de.schildbach.pte.NetworkId; - import android.app.ActivityManager; import android.content.Context; -import android.content.DialogInterface; -import android.content.DialogInterface.OnCancelListener; -import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; @@ -61,12 +33,34 @@ import android.os.Looper; import android.os.StatFs; import androidx.core.app.ActivityManagerCompat; import androidx.core.content.FileProvider; +import com.google.common.base.Joiner; +import com.google.common.base.Strings; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; +import de.schildbach.pte.NetworkId; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.Writer; +import java.util.ArrayList; +import java.util.Date; +import java.util.Formatter; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class ErrorReporter implements Thread.UncaughtExceptionHandler { private static final String STACKTRACE_FILENAME = ".stacktrace"; diff --git a/oeffi/src/de/schildbach/oeffi/util/Formats.java b/oeffi/src/de/schildbach/oeffi/util/Formats.java index a306513..ef90fc4 100644 --- a/oeffi/src/de/schildbach/oeffi/util/Formats.java +++ b/oeffi/src/de/schildbach/oeffi/util/Formats.java @@ -17,15 +17,14 @@ package de.schildbach.oeffi.util; -import java.util.Calendar; -import java.util.GregorianCalendar; - -import de.schildbach.oeffi.Constants; -import de.schildbach.oeffi.R; - import android.content.Context; import android.text.format.DateFormat; import android.text.format.DateUtils; +import de.schildbach.oeffi.Constants; +import de.schildbach.oeffi.R; + +import java.util.Calendar; +import java.util.GregorianCalendar; public final class Formats { public static String formatDate(final Context context, final long time) { diff --git a/oeffi/src/de/schildbach/oeffi/util/GeocoderThread.java b/oeffi/src/de/schildbach/oeffi/util/GeocoderThread.java index a53906c..76a8a67 100644 --- a/oeffi/src/de/schildbach/oeffi/util/GeocoderThread.java +++ b/oeffi/src/de/schildbach/oeffi/util/GeocoderThread.java @@ -17,28 +17,25 @@ package de.schildbach.oeffi.util; -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.io.IOException; -import java.util.List; -import java.util.Locale; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.common.base.Joiner; -import com.google.common.base.Strings; - -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.dto.Point; - import android.content.Context; import android.location.Address; import android.location.Geocoder; import android.os.Handler; import android.os.Looper; +import com.google.common.base.Joiner; +import com.google.common.base.Strings; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.Point; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.List; +import java.util.Locale; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkNotNull; public class GeocoderThread extends Thread { public interface Callback { diff --git a/oeffi/src/de/schildbach/oeffi/util/LocationHelper.java b/oeffi/src/de/schildbach/oeffi/util/LocationHelper.java index fe156c9..51c5a53 100644 --- a/oeffi/src/de/schildbach/oeffi/util/LocationHelper.java +++ b/oeffi/src/de/schildbach/oeffi/util/LocationHelper.java @@ -17,17 +17,15 @@ package de.schildbach.oeffi.util; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import de.schildbach.pte.dto.Point; - import android.location.Criteria; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.os.Handler; +import de.schildbach.pte.dto.Point; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public final class LocationHelper { public interface Callback { diff --git a/oeffi/src/de/schildbach/oeffi/util/LocationUriParser.java b/oeffi/src/de/schildbach/oeffi/util/LocationUriParser.java index 7377c1a..45168a0 100644 --- a/oeffi/src/de/schildbach/oeffi/util/LocationUriParser.java +++ b/oeffi/src/de/schildbach/oeffi/util/LocationUriParser.java @@ -17,16 +17,16 @@ package de.schildbach.oeffi.util; +import de.schildbach.pte.dto.Location; +import de.schildbach.pte.dto.LocationType; +import de.schildbach.pte.dto.Point; + import java.net.URI; import java.net.URISyntaxException; import java.net.URLDecoder; import java.util.regex.Matcher; import java.util.regex.Pattern; -import de.schildbach.pte.dto.Location; -import de.schildbach.pte.dto.LocationType; -import de.schildbach.pte.dto.Point; - public class LocationUriParser { public static final Location[] parseLocations(final String encodedUriString) { URI uri = null; diff --git a/oeffi/src/de/schildbach/oeffi/util/MultiDrawable.java b/oeffi/src/de/schildbach/oeffi/util/MultiDrawable.java index 2f85e0a..b9d2b62 100644 --- a/oeffi/src/de/schildbach/oeffi/util/MultiDrawable.java +++ b/oeffi/src/de/schildbach/oeffi/util/MultiDrawable.java @@ -17,16 +17,16 @@ package de.schildbach.oeffi.util; -import static com.google.common.base.Preconditions.checkNotNull; - -import java.util.HashMap; -import java.util.Map; - import android.content.Context; import android.content.res.Resources; import android.graphics.drawable.AnimationDrawable; import android.graphics.drawable.Drawable; +import java.util.HashMap; +import java.util.Map; + +import static com.google.common.base.Preconditions.checkNotNull; + public class MultiDrawable extends AnimationDrawable { private final Resources res; private final Map drawableIndexes = new HashMap<>(); diff --git a/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java b/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java index 85b103e..39d15f3 100644 --- a/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java +++ b/oeffi/src/de/schildbach/oeffi/util/NavigationMenuAdapter.java @@ -17,12 +17,6 @@ package de.schildbach.oeffi.util; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -import de.schildbach.oeffi.R; - import android.content.ComponentName; import android.content.Context; import android.content.Intent; @@ -42,6 +36,11 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; +import de.schildbach.oeffi.R; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; public class NavigationMenuAdapter extends RecyclerView.Adapter { private final Resources res; diff --git a/oeffi/src/de/schildbach/oeffi/util/PopupHelper.java b/oeffi/src/de/schildbach/oeffi/util/PopupHelper.java index 7504338..093fdab 100644 --- a/oeffi/src/de/schildbach/oeffi/util/PopupHelper.java +++ b/oeffi/src/de/schildbach/oeffi/util/PopupHelper.java @@ -17,11 +17,11 @@ package de.schildbach.oeffi.util; +import android.widget.PopupMenu; + import java.lang.reflect.Field; import java.lang.reflect.Method; -import android.widget.PopupMenu; - public class PopupHelper { public static void setForceShowIcon(final PopupMenu popupMenu) { try { diff --git a/oeffi/src/de/schildbach/oeffi/util/Toast.java b/oeffi/src/de/schildbach/oeffi/util/Toast.java index 87cf791..8729eaa 100644 --- a/oeffi/src/de/schildbach/oeffi/util/Toast.java +++ b/oeffi/src/de/schildbach/oeffi/util/Toast.java @@ -17,11 +17,10 @@ package de.schildbach.oeffi.util; -import de.schildbach.oeffi.R; - import android.content.Context; import android.graphics.PorterDuff; import android.widget.TextView; +import de.schildbach.oeffi.R; public class Toast { private final Context context; diff --git a/oeffi/src/de/schildbach/oeffi/util/UiThreadExecutor.java b/oeffi/src/de/schildbach/oeffi/util/UiThreadExecutor.java index 7fb933a..815a1bd 100644 --- a/oeffi/src/de/schildbach/oeffi/util/UiThreadExecutor.java +++ b/oeffi/src/de/schildbach/oeffi/util/UiThreadExecutor.java @@ -17,11 +17,11 @@ package de.schildbach.oeffi.util; -import java.util.concurrent.Executor; - import android.os.Handler; import android.os.Looper; +import java.util.concurrent.Executor; + public class UiThreadExecutor implements Executor { private final Handler handler = new Handler(Looper.getMainLooper()); diff --git a/oeffi/src/de/schildbach/oeffi/util/ZoomControls.java b/oeffi/src/de/schildbach/oeffi/util/ZoomControls.java index eb34ef0..44407a6 100644 --- a/oeffi/src/de/schildbach/oeffi/util/ZoomControls.java +++ b/oeffi/src/de/schildbach/oeffi/util/ZoomControls.java @@ -17,8 +17,6 @@ package de.schildbach.oeffi.util; -import de.schildbach.oeffi.R; - import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; @@ -27,6 +25,7 @@ import android.view.View; import android.view.animation.AlphaAnimation; import android.widget.LinearLayout; import android.widget.ZoomButton; +import de.schildbach.oeffi.R; public class ZoomControls extends LinearLayout { private final ZoomButton mZoomIn; diff --git a/oeffi/test/de/schildbach/oeffi/util/LocationUriParserTest.java b/oeffi/test/de/schildbach/oeffi/util/LocationUriParserTest.java index f1acd5d..221918a 100644 --- a/oeffi/test/de/schildbach/oeffi/util/LocationUriParserTest.java +++ b/oeffi/test/de/schildbach/oeffi/util/LocationUriParserTest.java @@ -17,11 +17,10 @@ package de.schildbach.oeffi.util; -import org.junit.Assert; -import org.junit.Test; - import de.schildbach.pte.dto.Location; import de.schildbach.pte.dto.LocationType; +import org.junit.Assert; +import org.junit.Test; public class LocationUriParserTest { @Test