From 68fd4a7490068aa4cbedfde7f8bf58d0f0dc6cb7 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sun, 1 Nov 2015 21:14:48 +0100 Subject: [PATCH] * update to latest support libs * update all dependencies * update gradle to 2.8 * update build tools * fix api and change to new domain for the sample dataa --- app/build.gradle | 42 ++++++++-------- .../unsplash/activities/DetailActivity.java | 6 +-- .../unsplash/activities/MainActivity.java | 50 ++++++++++--------- .../unsplash/network/UnsplashApi.java | 2 +- app/src/main/res/layout/activity_main.xml | 34 ++++++------- build.gradle | 7 ++- 6 files changed, 74 insertions(+), 67 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5a08fb2..458191e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,15 +6,15 @@ try { } android { - compileSdkVersion 21 - buildToolsVersion "21.1.2" + compileSdkVersion 23 + buildToolsVersion "23.0.1" defaultConfig { applicationId "com.mikepenz.unsplash" minSdkVersion 16 - targetSdkVersion 21 - versionCode 185 - versionName "1.8.5" + targetSdkVersion 22 + versionCode 190 + versionName "1.9.0" } buildTypes { debug { @@ -54,32 +54,34 @@ android { } dependencies { - compile 'com.koushikdutta.ion:ion:2.0.5' - compile 'com.android.support:support-v4:21.0.3' - compile 'com.android.support:palette-v7:21.0.3' - compile 'com.android.support:appcompat-v7:21.0.3' - compile 'com.android.support:cardview-v7:21.0.3' - compile 'com.android.support:recyclerview-v7:21.0.3' + compile 'com.koushikdutta.ion:ion:2.1.6' + + compile 'com.android.support:palette-v7:23.1.0' + compile 'com.android.support:appcompat-v7:23.1.0' + compile 'com.android.support:cardview-v7:23.1.0' + compile 'com.android.support:recyclerview-v7:23.1.0' compile 'com.squareup.retrofit:retrofit:1.9.0' - compile 'com.squareup.okhttp:okhttp:2.2.0' - compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0' - compile 'com.squareup.picasso:picasso:2.4.0' - compile 'io.reactivex:rxandroid:0.24.0' + compile 'com.squareup.okhttp:okhttp:2.5.0' + compile 'com.squareup.okhttp:okhttp-urlconnection:2.5.0' + compile 'com.squareup.picasso:picasso:2.5.2' + compile 'io.reactivex:rxandroid:1.0.1' - compile 'com.nispok:snackbar:2.10.1' + compile 'com.nispok:snackbar:2.11.0' compile 'com.gu:option:1.3' - compile 'com.github.lzyzsd:circleprogress:1.0.1@aar' + compile 'com.github.lzyzsd:circleprogress:1.2.0@aar' compile 'com.github.xiprox.errorview:library:1.0.0' compile 'com.google.android.apps.muzei:muzei-api:+' - compile 'com.mikepenz.iconics:library:0.7.5@aar' - compile('com.mikepenz.aboutlibraries:library:4.5.8@aar') { + compile('com.mikepenz:aboutlibraries:5.2.6@aar') { transitive = true } - compile('com.mikepenz.materialdrawer:library:2.0.0@aar') { + compile('com.mikepenz:materialdrawer:4.4.4@aar') { transitive = true } + compile 'com.mikepenz:iconics-core:1.7.9@aar' + compile 'com.mikepenz:google-material-typeface:1.2.0.1@aar' + compile 'com.mikepenz:fontawesome-typeface:4.4.0.1@aar' } diff --git a/app/src/main/java/com/mikepenz/unsplash/activities/DetailActivity.java b/app/src/main/java/com/mikepenz/unsplash/activities/DetailActivity.java index 4aad308..ba5e7e5 100644 --- a/app/src/main/java/com/mikepenz/unsplash/activities/DetailActivity.java +++ b/app/src/main/java/com/mikepenz/unsplash/activities/DetailActivity.java @@ -16,7 +16,7 @@ import android.os.Environment; import android.support.annotation.NonNull; import android.support.v4.content.FileProvider; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.support.v7.graphics.Palette; import android.support.v7.widget.Toolbar; import android.text.TextUtils; @@ -38,8 +38,8 @@ import com.koushikdutta.ion.ProgressCallback; import com.koushikdutta.ion.Response; import com.koushikdutta.ion.future.ResponseFuture; +import com.mikepenz.fontawesome_typeface_library.FontAwesome; import com.mikepenz.iconics.IconicsDrawable; -import com.mikepenz.iconics.typeface.FontAwesome; import com.mikepenz.unsplash.R; import com.mikepenz.unsplash.fragments.DirectoryChooserFragment; import com.mikepenz.unsplash.fragments.ImagesFragment; @@ -55,7 +55,7 @@ import java.io.InputStream; -public class DetailActivity extends ActionBarActivity { +public class DetailActivity extends AppCompatActivity { private static final int ACTIVITY_CROP = 13451; private static final int ACTIVITY_SHARE = 13452; diff --git a/app/src/main/java/com/mikepenz/unsplash/activities/MainActivity.java b/app/src/main/java/com/mikepenz/unsplash/activities/MainActivity.java index 05e5345..9ccaa91 100644 --- a/app/src/main/java/com/mikepenz/unsplash/activities/MainActivity.java +++ b/app/src/main/java/com/mikepenz/unsplash/activities/MainActivity.java @@ -2,18 +2,19 @@ import android.graphics.Color; import android.os.Bundle; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.widget.AdapterView; -import com.mikepenz.aboutlibraries.Libs; +import com.mikepenz.aboutlibraries.LibsBuilder; +import com.mikepenz.fontawesome_typeface_library.FontAwesome; import com.mikepenz.google_material_typeface_library.GoogleMaterial; import com.mikepenz.iconics.IconicsDrawable; -import com.mikepenz.iconics.typeface.FontAwesome; import com.mikepenz.materialdrawer.Drawer; +import com.mikepenz.materialdrawer.DrawerBuilder; +import com.mikepenz.materialdrawer.holder.StringHolder; import com.mikepenz.materialdrawer.model.PrimaryDrawerItem; import com.mikepenz.materialdrawer.model.SectionDrawerItem; import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem; @@ -23,7 +24,7 @@ import com.mikepenz.unsplash.network.UnsplashApi; -public class MainActivity extends ActionBarActivity { +public class MainActivity extends AppCompatActivity { public enum Category { ALL(1000), FEATURED(1001), @@ -42,7 +43,7 @@ private Category(int id) { } } - public Drawer.Result result; + public Drawer result; private OnFilterChangedListener onFilterChangedListener; @@ -59,7 +60,7 @@ protected void onCreate(Bundle savedInstanceState) { toolbar.setTitleTextColor(Color.WHITE); setSupportActionBar(toolbar); - result = new Drawer() + result = new DrawerBuilder() .withActivity(this) .withToolbar(toolbar) .withHeader(R.layout.header) @@ -75,22 +76,25 @@ protected void onCreate(Bundle savedInstanceState) { new PrimaryDrawerItem().withName(R.string.category_technology).withIdentifier(Category.TECHNOLOGY.id).withIcon(GoogleMaterial.Icon.gmd_local_see) ) .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { + @Override - public void onItemClick(AdapterView adapterView, View view, int i, long l, IDrawerItem drawerItem) { + public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { if (drawerItem != null) { if (drawerItem instanceof Nameable) { - toolbar.setTitle(((Nameable) drawerItem).getNameRes()); + toolbar.setTitle(((Nameable) drawerItem).getName().getText(MainActivity.this)); } if (onFilterChangedListener != null) { onFilterChangedListener.onFilterChanged(drawerItem.getIdentifier()); } } + + return false; } }) .build(); //disable scrollbar :D it's ugly - result.getListView().setVerticalScrollBarEnabled(false); + result.getRecyclerView().setVerticalScrollBarEnabled(false); } /** @@ -98,15 +102,15 @@ public void onItemClick(AdapterView adapterView, View view, int i, long l, ID */ public void setCategoryCount(ImageList images) { if (result.getDrawerItems() != null && result.getDrawerItems().size() == 9 && images != null && images.getData() != null) { - result.updateBadge(images.getData().size() + "", 0); - result.updateBadge(UnsplashApi.countFeatured(images.getData()) + "", 1); - - result.updateBadge(UnsplashApi.countCategory(images.getData(), Category.BUILDINGS.id) + "", 3); - result.updateBadge(UnsplashApi.countCategory(images.getData(), Category.FOOD.id) + "", 4); - result.updateBadge(UnsplashApi.countCategory(images.getData(), Category.NATURE.id) + "", 5); - result.updateBadge(UnsplashApi.countCategory(images.getData(), Category.OBJECTS.id) + "", 6); - result.updateBadge(UnsplashApi.countCategory(images.getData(), Category.PEOPLE.id) + "", 7); - result.updateBadge(UnsplashApi.countCategory(images.getData(), Category.TECHNOLOGY.id) + "", 8); + result.updateBadge(Category.ALL.id, new StringHolder(images.getData().size() + "")); + result.updateBadge(Category.FEATURED.id, new StringHolder(UnsplashApi.countFeatured(images.getData()) + "")); + + result.updateBadge(Category.BUILDINGS.id, new StringHolder(UnsplashApi.countCategory(images.getData(), Category.BUILDINGS.id) + "")); + result.updateBadge(Category.FOOD.id, new StringHolder(UnsplashApi.countCategory(images.getData(), Category.FOOD.id) + "")); + result.updateBadge(Category.NATURE.id, new StringHolder(UnsplashApi.countCategory(images.getData(), Category.NATURE.id) + "")); + result.updateBadge(Category.OBJECTS.id, new StringHolder(UnsplashApi.countCategory(images.getData(), Category.OBJECTS.id) + "")); + result.updateBadge(Category.PEOPLE.id, new StringHolder(UnsplashApi.countCategory(images.getData(), Category.PEOPLE.id) + "")); + result.updateBadge(Category.TECHNOLOGY.id, new StringHolder(UnsplashApi.countCategory(images.getData(), Category.TECHNOLOGY.id) + "")); } } @@ -115,8 +119,8 @@ public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); - menu.findItem(R.id.action_open_source).setIcon(new IconicsDrawable(this, FontAwesome.Icon.faw_github).color(Color.WHITE).actionBarSize()); - menu.findItem(R.id.action_shuffle).setIcon(new IconicsDrawable(this, GoogleMaterial.Icon.gmd_shuffle).paddingDp(1).color(Color.WHITE).actionBarSize()); + menu.findItem(R.id.action_open_source).setIcon(new IconicsDrawable(this, FontAwesome.Icon.faw_github).color(Color.WHITE).actionBar()); + menu.findItem(R.id.action_shuffle).setIcon(new IconicsDrawable(this, GoogleMaterial.Icon.gmd_shuffle).paddingDp(1).color(Color.WHITE).actionBar()); return true; } @@ -125,10 +129,10 @@ public boolean onCreateOptionsMenu(Menu menu) { public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_open_source) { - new Libs.Builder() + new LibsBuilder() .withFields(R.string.class.getFields()) .withActivityTitle(getString(R.string.action_open_source)) - .withActivityTheme(R.style.MaterialDrawerTheme_ActionBar) + .withActivityTheme(R.style.MaterialDrawerTheme) .withLibraries("rxJava", "rxAndroid") .start(this); diff --git a/app/src/main/java/com/mikepenz/unsplash/network/UnsplashApi.java b/app/src/main/java/com/mikepenz/unsplash/network/UnsplashApi.java index 241cd61..3bd73c8 100644 --- a/app/src/main/java/com/mikepenz/unsplash/network/UnsplashApi.java +++ b/app/src/main/java/com/mikepenz/unsplash/network/UnsplashApi.java @@ -21,7 +21,7 @@ import rx.Observable; public class UnsplashApi { - public static final String ENDPOINT = "http://wallsplash.lanora.io"; + public static final String ENDPOINT = "http://lanora.eu/projects/wallsplash/"; private final UnsplashService mWebService; public static Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); //2015-01-18 15:48:56 diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 92902ad..1177ea0 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,30 +1,26 @@ - - - - + android:elevation="4dp" + android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" + app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> - + diff --git a/build.gradle b/build.gradle index 90ff95b..a63e618 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:1.1.0' + classpath 'com.android.tools.build:gradle:1.3.1' } } @@ -14,5 +14,10 @@ allprojects { jcenter() maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url 'http://guardian.github.com/maven/repo-releases' } + maven { url "https://jitpack.io" } } } + +task wrapper(type: Wrapper) { + gradleVersion = '2.8' +}