From d85e313420132c93f83374a6748beb5dafd05872 Mon Sep 17 00:00:00 2001 From: Sam Heavner Date: Thu, 24 Dec 2015 12:22:07 -0500 Subject: [PATCH] fixed issue #1, started proguard configuration --- app/build.gradle | 5 +- app/proguard-rules.pro | 4 + .../fragments/MainActivityFragment.java | 80 +++++++++---------- 3 files changed, 47 insertions(+), 42 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2966b65..2ef2558 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -21,8 +21,8 @@ android { applicationId "com.slheavner.wvubus" minSdkVersion 14 targetSdkVersion 23 - versionCode 18 - versionName "3.0.0" + versionCode 19 + versionName "3.0.1" } compileOptions { @@ -32,6 +32,7 @@ android { buildTypes { release { minifyEnabled false + shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 14f7f33..1865530 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -15,3 +15,7 @@ #-keepclassmembers class fqcn.of.javascript.interface.for.webview { # public *; #} + +-dontwarn com.squareup.** +-dontwarn okio.** +#-keep public class com.slheavner.wvubus.MainActivity diff --git a/app/src/main/java/com/slheavner/wvubus/fragments/MainActivityFragment.java b/app/src/main/java/com/slheavner/wvubus/fragments/MainActivityFragment.java index d69b16d..f623834 100644 --- a/app/src/main/java/com/slheavner/wvubus/fragments/MainActivityFragment.java +++ b/app/src/main/java/com/slheavner/wvubus/fragments/MainActivityFragment.java @@ -140,7 +140,7 @@ private List readBusJson() throws IOException { fis.read(bytes); String json = new String(bytes); Bus[] buses = new Gson().fromJson(json, Bus[].class); - return orderBusList(buses); + return Arrays.asList(buses); } /** @@ -149,29 +149,29 @@ private List readBusJson() throws IOException { * @param buses bus array to order * @return order List of buses */ - private List orderBusList(Bus[] buses){ - List busIds = Arrays.asList(getResources().getStringArray(R.array.bus_ids)); - Bus[] busList = new Bus[buses.length]; - for(Bus b : buses){ - busList[busIds.indexOf(b.getId())] = b; - } - return Arrays.asList(busList); - } - - /** - * Not sure this is needed with the new way the adapter updates are handled. - * TODO: try to remove this - * @param buses bus list to order - * @return order List of buses - */ - private List orderBusList(List buses){ - List busIds = Arrays.asList(getResources().getStringArray(R.array.bus_ids)); - Bus[] busList = new Bus[buses.size()]; - for(Bus b : buses){ - busList[busIds.indexOf(b.getId())] = b; - } - return Arrays.asList(busList); - } +// private List orderBusList(Bus[] buses){ +// List busIds = Arrays.asList(getResources().getStringArray(R.array.bus_ids)); +// Bus[] busList = new Bus[buses.length]; +// for(Bus b : buses){ +// busList[busIds.indexOf(b.getId())] = b; +// } +// return Arrays.asList(busList); +// } +// +// /** +// * Not sure this is needed with the new way the adapter updates are handled. +// * TODO: try to remove this +// * @param buses bus list to order +// * @return order List of buses +// */ +// private List orderBusList(List buses){ +// List busIds = Arrays.asList(getResources().getStringArray(R.array.bus_ids)); +// Bus[] busList = new Bus[buses.size()]; +// for(Bus b : buses){ +// busList[busIds.indexOf(b.getId())] = b; +// } +// return Arrays.asList(busList); +// } /** * Installs the json at res/raw/buses.json @@ -194,37 +194,37 @@ protected List doInBackground(String[] params) { Gson gson = new Gson(); String busJson = getResponseBody(url); buses.addAll(Arrays.asList(gson.fromJson(busJson, Bus[].class))); - if(buses.size() > 0){ + if(buses.size() > 0 && getContext() != null){ //probably a better place to write this, while staying async. FileOutputStream fos = getContext() .openFileOutput("buses.json", Context.MODE_PRIVATE); fos.write(busJson.getBytes()); fos.close(); - }else{ - return null; } }catch (Exception e){ e.printStackTrace(); } } - return orderBusList(buses); + return buses; } @Override protected void onPostExecute(List buses) { super.onPostExecute(buses); - if(swipeRefreshLayout != null){ - swipeRefreshLayout.setRefreshing(false); - } - if (buses.size() == 0){ - Logger.debug(this, "no buses"); - Toast.makeText(getActivity(), "There was a problem getting bus data.", Toast.LENGTH_SHORT).show(); - }else{ - Logger.debug(this, "got " + buses.size() + " buses"); - if(MainActivityFragment.this.busAdapter != null){ - MainActivityFragment.this.busData = buses; - busAdapter.setData(buses); - //busAdapter.notifyDataSetChanged(); + if(!MainActivityFragment.this.isResumed()){ + if(swipeRefreshLayout != null){ + swipeRefreshLayout.setRefreshing(false); + } + if (buses.size() == 0 && getActivity() != null){ + Logger.debug(this, "no buses"); + Toast.makeText(getActivity(), "There was a problem getting bus data.", Toast.LENGTH_SHORT).show(); + }else{ + Logger.debug(this, "got " + buses.size() + " buses"); + if(MainActivityFragment.this.busAdapter != null){ + MainActivityFragment.this.busData = buses; + busAdapter.setData(buses); + //busAdapter.notifyDataSetChanged(); + } } } }