From 44f777ebff6dd588a5f9ecac85a855b96f974dab Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 10 Mar 2017 04:00:09 +0100 Subject: [PATCH] Improved drawer look --- app/build.gradle | 1 + .../com/keylesspalace/tusky/MainActivity.java | 100 ++++++++---------- app/src/main/res/values/styles.xml | 4 +- 3 files changed, 50 insertions(+), 55 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index cad0b874..d606f1ce 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,4 +41,5 @@ dependencies { transitive = true } compile 'com.github.chrisbanes:PhotoView:1.3.1' + compile 'com.mikepenz:google-material-typeface:3.0.1.0.original@aar' } diff --git a/app/src/main/java/com/keylesspalace/tusky/MainActivity.java b/app/src/main/java/com/keylesspalace/tusky/MainActivity.java index d027952f..14d4d950 100644 --- a/app/src/main/java/com/keylesspalace/tusky/MainActivity.java +++ b/app/src/main/java/com/keylesspalace/tusky/MainActivity.java @@ -44,10 +44,12 @@ import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.keylesspalace.tusky.entity.Account; +import com.mikepenz.google_material_typeface_library.GoogleMaterial; import com.mikepenz.materialdrawer.AccountHeader; import com.mikepenz.materialdrawer.AccountHeaderBuilder; import com.mikepenz.materialdrawer.Drawer; import com.mikepenz.materialdrawer.DrawerBuilder; +import com.mikepenz.materialdrawer.model.DividerDrawerItem; import com.mikepenz.materialdrawer.model.PrimaryDrawerItem; import com.mikepenz.materialdrawer.model.ProfileDrawerItem; import com.mikepenz.materialdrawer.model.SecondaryDrawerItem; @@ -103,22 +105,8 @@ public class MainActivity extends BaseActivity { headerResult = new AccountHeaderBuilder() .withActivity(this) .withSelectionListEnabledForSingleProfile(false) - .withTranslucentStatusBar(true) + .withDividerBelowHeader(false) .withCompactStyle(true) - .withOnAccountHeaderProfileImageListener(new AccountHeader.OnAccountHeaderProfileImageListener() { - @Override - public boolean onProfileImageClick(View view, IProfile profile, boolean current) { - Intent intent = new Intent(MainActivity.this, AccountActivity.class); - intent.putExtra("id", loggedInAccountId); - startActivity(intent); - return false; - } - - @Override - public boolean onProfileImageLongClick(View view, IProfile profile, boolean current) { - return false; - } - }) .build(); DrawerImageLoader.init(new AbstractDrawerImageLoader() { @@ -136,15 +124,16 @@ public class MainActivity extends BaseActivity { drawer = new DrawerBuilder() .withActivity(this) .withToolbar(toolbar) - .withTranslucentStatusBar(true) .withAccountHeader(headerResult) .withHasStableIds(true) .withSelectedItem(-1) .addDrawerItems( - new PrimaryDrawerItem().withIdentifier(1).withName(getString(R.string.action_view_favourites)).withSelectable(false), - new PrimaryDrawerItem().withIdentifier(2).withName(getString(R.string.action_view_blocks)).withSelectable(false), - new PrimaryDrawerItem().withIdentifier(3).withName(getString(R.string.action_view_preferences)).withSelectable(false), - new PrimaryDrawerItem().withIdentifier(4).withName(getString(R.string.action_logout)).withSelectable(false) + new PrimaryDrawerItem().withIdentifier(0).withName(R.string.action_view_profile).withSelectable(false).withIcon(GoogleMaterial.Icon.gmd_person), + new PrimaryDrawerItem().withIdentifier(1).withName(getString(R.string.action_view_favourites)).withSelectable(false).withIcon(GoogleMaterial.Icon.gmd_star), + new PrimaryDrawerItem().withIdentifier(2).withName(getString(R.string.action_view_blocks)).withSelectable(false).withIcon(GoogleMaterial.Icon.gmd_block), + new DividerDrawerItem(), + new SecondaryDrawerItem().withIdentifier(3).withName(getString(R.string.action_view_preferences)).withSelectable(false), + new SecondaryDrawerItem().withIdentifier(4).withName(getString(R.string.action_logout)).withSelectable(false) ) .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { @Override @@ -152,7 +141,11 @@ public class MainActivity extends BaseActivity { if (drawerItem != null) { long drawerItemIdentifier = drawerItem.getIdentifier(); - if (drawerItemIdentifier == 1) { + if (drawerItemIdentifier == 0) { + Intent intent = new Intent(MainActivity.this, AccountActivity.class); + intent.putExtra("id", loggedInAccountId); + startActivity(intent); + } else if (drawerItemIdentifier == 1) { Intent intent = new Intent(MainActivity.this, FavouritesActivity.class); startActivity(intent); } else if (drawerItemIdentifier == 2) { @@ -253,39 +246,40 @@ public class MainActivity extends BaseActivity { final String domain = preferences.getString("domain", null); String id = preferences.getString("loggedInAccountId", null); String username = preferences.getString("loggedInAccountUsername", null); - //if (id != null && username != null) { - // loggedInAccountId = id; - // loggedInAccountUsername = username; - //} else { - mastodonAPI.accountVerifyCredentials().enqueue(new Callback() { - @Override - public void onResponse(Call call, retrofit2.Response response) { - Account me = response.body(); - ImageView background = headerResult.getHeaderBackgroundView(); - - Picasso.with(MainActivity.this) - .load(me.header) - .placeholder(R.drawable.account_header_missing) - .resize(background.getWidth(), background.getHeight()) - .centerCrop() - .into(background); - - headerResult.addProfiles( - new ProfileDrawerItem() - .withName(me.displayName) - .withEmail(String.format("%s@%s", me.username, domain)) - .withIcon(me.avatar) - ); - - //onFetchUserInfoSuccess(response.body().id, response.body().username); - } - @Override - public void onFailure(Call call, Throwable t) { - onFetchUserInfoFailure((Exception) t); - } - }); - //} + if (id != null && username != null) { + loggedInAccountId = id; + loggedInAccountUsername = username; + } + + mastodonAPI.accountVerifyCredentials().enqueue(new Callback() { + @Override + public void onResponse(Call call, retrofit2.Response response) { + Account me = response.body(); + ImageView background = headerResult.getHeaderBackgroundView(); + + Picasso.with(MainActivity.this) + .load(me.header) + .placeholder(R.drawable.account_header_missing) + .resize(background.getWidth(), background.getHeight()) + .centerCrop() + .into(background); + + headerResult.addProfiles( + new ProfileDrawerItem() + .withName(me.displayName) + .withEmail(String.format("%s@%s", me.username, domain)) + .withIcon(me.avatar) + ); + + //onFetchUserInfoSuccess(response.body().id, response.body().username); + } + + @Override + public void onFailure(Call call, Throwable t) { + onFetchUserInfoFailure((Exception) t); + } + }); } private void onFetchUserInfoSuccess(String id, String username) { diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index ac08ab61..37cb2999 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -56,13 +56,13 @@ @color/report_status_background_dark @drawable/report_status_divider_dark - @color/color_primary_dark + @color/window_background_dark @color/text_color_primary_dark @color/toolbar_icon_dark @color/text_color_secondary_dark @color/text_color_tertiary_dark @color/color_primary_dark_dark - @color/window_background_dark + @color/color_primary_dark @color/text_color_primary_dark @color/text_color_primary_dark