Different background for each profile. Redundant styles removed.

This commit is contained in:
Yaroslav Berezanskyi 2015-08-13 18:15:29 +03:00
parent ed23bf723f
commit c4fb74a880
7 changed files with 24 additions and 261 deletions

View File

@ -153,7 +153,8 @@ public abstract class BaseActivity extends AppCompatActivity implements
initDApps(); initDApps();
mHeaderImageView = (ImageView) findViewById(R.id.iv_header); mHeaderImageView = (ImageView) findViewById(R.id.iv_header);
Glide.with(this).load(R.drawable.bg0).into(mHeaderImageView); String currentProfileId = SyngApplication.sCurrentProfile.getId();
Glide.with(this).load(PrefsUtil.getBackgroundResourceId(currentProfileId)).into(mHeaderImageView);
GeneralUtil.showWarningDialogIfNeed(this); GeneralUtil.showWarningDialogIfNeed(this);
} }
@ -206,6 +207,7 @@ public abstract class BaseActivity extends AppCompatActivity implements
updateCurrentProfileName(profile.getName()); updateCurrentProfileName(profile.getName());
SyngApplication.changeProfile(profile); SyngApplication.changeProfile(profile);
initDApps(); initDApps();
Glide.with(this).load(PrefsUtil.getBackgroundResourceId(profile.getId())).into(mHeaderImageView);
} }
protected void updateCurrentProfileName(String name) { protected void updateCurrentProfileName(String name) {
@ -348,6 +350,7 @@ public abstract class BaseActivity extends AppCompatActivity implements
} }
@SuppressWarnings("ConstantConditions")
private void showAccountCreateDialog() { private void showAccountCreateDialog() {
MaterialDialog dialog = new MaterialDialog.Builder(this) MaterialDialog dialog = new MaterialDialog.Builder(this)
.title("New account") .title("New account")
@ -513,6 +516,7 @@ public abstract class BaseActivity extends AppCompatActivity implements
dialog.show(); dialog.show();
} }
@SuppressWarnings("ConstantConditions")
@Override @Override
public void onProfilePress(final Profile profile) { public void onProfilePress(final Profile profile) {
MaterialDialog dialog = new MaterialDialog.Builder(this) MaterialDialog dialog = new MaterialDialog.Builder(this)
@ -610,7 +614,9 @@ public abstract class BaseActivity extends AppCompatActivity implements
@Override @Override
public void onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) { public void onSelection(MaterialDialog dialog, View itemView, int which, CharSequence text) {
BackgroundArrayAdapter adapter = (BackgroundArrayAdapter) dialog.getListView().getAdapter(); BackgroundArrayAdapter adapter = (BackgroundArrayAdapter) dialog.getListView().getAdapter();
Glide.with(BaseActivity.this).load(adapter.getImageResourceIdByPosition(which)).into(mHeaderImageView); int imageResourceId = adapter.getImageResourceIdByPosition(which);
Glide.with(BaseActivity.this).load(imageResourceId).into(mHeaderImageView);
PrefsUtil.setBackgroundResourceId(SyngApplication.sCurrentProfile.getId(), imageResourceId);
dialog.dismiss(); dialog.dismiss();
} }
}) })

View File

@ -22,11 +22,8 @@ public class DAppDrawerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
public interface OnDAppClickListener { public interface OnDAppClickListener {
void onDAppItemClick(Dapp dapp); void onDAppItemClick(Dapp dapp);
void onDAppPress(Dapp dapp); void onDAppPress(Dapp dapp);
void onDAppAdd(); void onDAppAdd();
void onDAppContinueSearch(); void onDAppContinueSearch();
} }
@ -130,7 +127,6 @@ public class DAppDrawerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
return continueSearch && position == mDataSet.size(); return continueSearch && position == mDataSet.size();
} }
public void clear() { public void clear() {
mDataSet.clear(); mDataSet.clear();
notifyDataSetChanged(); notifyDataSetChanged();

View File

@ -24,12 +24,10 @@ public class ProfileDrawerAdapter extends RecyclerView.Adapter<RecyclerView.View
private final OnProfileClickListener mListener; private final OnProfileClickListener mListener;
public interface OnProfileClickListener { public interface OnProfileClickListener {
void onProfileClick(Profile profile); void onProfileClick(Profile profile);
void onProfilePress(Profile profile); void onProfilePress(Profile profile);
void onProfileImport(); void onProfileImport();
void onNewProfile(); void onNewProfile();
} }
private final Context mContext; private final Context mContext;
@ -94,7 +92,6 @@ public class ProfileDrawerAdapter extends RecyclerView.Adapter<RecyclerView.View
} }
} }
@Override @Override
public int getItemViewType(int position) { public int getItemViewType(int position) {
if (isPositionHeader(position)) if (isPositionHeader(position))

View File

@ -3,9 +3,11 @@ package io.syng.util;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor; import android.content.SharedPreferences.Editor;
import android.support.annotation.DrawableRes;
import java.util.ArrayList; import java.util.ArrayList;
import io.syng.R;
import io.syng.entity.ObjectSerializer; import io.syng.entity.ObjectSerializer;
import io.syng.entity.Profile; import io.syng.entity.Profile;
@ -56,10 +58,12 @@ public final class PrefsUtil {
} }
} }
@SuppressWarnings("unchecked")
public static ArrayList<Profile> getProfiles() { public static ArrayList<Profile> getProfiles() {
ArrayList<Profile> profiles = new ArrayList<>(); ArrayList<Profile> profiles = new ArrayList<>();
try { try {
profiles = (ArrayList<Profile>) ObjectSerializer.deserialize(getPrefs().getString(PROFILES_KEY, ObjectSerializer.serialize(profiles))); profiles = (ArrayList<Profile>) ObjectSerializer.deserialize(
getPrefs().getString(PROFILES_KEY, ObjectSerializer.serialize(profiles)));
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -69,7 +73,7 @@ public final class PrefsUtil {
public static void updateProfile(Profile profile) { public static void updateProfile(Profile profile) {
ArrayList<Profile> profiles = getProfiles(); ArrayList<Profile> profiles = getProfiles();
for (Profile item: profiles) { for (Profile item : profiles) {
if (item.getId().equals(profile.getId())) { if (item.getId().equals(profile.getId())) {
int index = profiles.indexOf(item); int index = profiles.indexOf(item);
profiles.set(index, profile); profiles.set(index, profile);
@ -82,7 +86,7 @@ public final class PrefsUtil {
public static boolean saveProfile(Profile profile) { public static boolean saveProfile(Profile profile) {
ArrayList<Profile> profiles = PrefsUtil.getProfiles(); ArrayList<Profile> profiles = PrefsUtil.getProfiles();
for (Profile item: profiles) { for (Profile item : profiles) {
if (item.getName().equals(profile.getName())) { if (item.getName().equals(profile.getName())) {
return false; return false;
} }
@ -101,4 +105,13 @@ public final class PrefsUtil {
return getPrefs().getBoolean(FIRST_LAUNCH_KEY, true); return getPrefs().getBoolean(FIRST_LAUNCH_KEY, true);
} }
public static void setBackgroundResourceId(String profileId, @DrawableRes int resourceId) {
getEditor().putInt(profileId, resourceId).commit();
}
public static int getBackgroundResourceId(String profileId) {
return getPrefs().getInt(profileId, R.drawable.bg0_resized);
}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1,23 +1,5 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"> <resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="ContainerBG">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:layout_gravity">start</item>
<item name="android:background">@drawable/console_bg</item>
<item name="android:orientation">vertical</item>
</style>
<!-- Container320 -->
<style name="Container320">
<item name="android:textSize">18sp</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
<item name="android:background">#ffffff</item>
</style>
<style name="SpinnerDrawer320"> <style name="SpinnerDrawer320">
<item name="android:background">@null</item> <item name="android:background">@null</item>
<item name="android:layout_width">match_parent</item> <item name="android:layout_width">match_parent</item>
@ -31,7 +13,6 @@
<item name="android:textColor">#ffffff</item> <item name="android:textColor">#ffffff</item>
<item name="android:textColorHint">#ffffff</item> <item name="android:textColorHint">#ffffff</item>
<item name="android:textSize">20sp</item> <item name="android:textSize">20sp</item>
</style> </style>
<style name="ViewDrawer320"> <style name="ViewDrawer320">
@ -46,234 +27,4 @@
<item name="android:layout_marginBottom">10dp</item> <item name="android:layout_marginBottom">10dp</item>
</style> </style>
<style name="ToolbarIcon">
<item name="android:layout_marginEnd">10dp</item>
<item name="android:layout_marginRight">10dp</item>
<item name="android:layout_width">32dp</item>
<item name="android:layout_height">32dp</item>
<item name="android:layout_alignParentEnd">true</item>
<item name="android:layout_alignParentRight">true</item>
<item name="android:layout_gravity">right</item>
<item name="android:background">@null</item>
</style>
<!-- List -->
<style name="ListContainer">
<item name="android:orientation">vertical</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
<item name="android:layout_alignTop">@+id/web_view</item>
<item name="android:layout_alignParentLeft">true</item>
<item name="android:layout_alignParentStart">true</item>
<item name="android:weightSum">1</item>
<item name="android:background">#1a1a1a</item>
</style>
<style name="ListTitle">
<item name="android:layout_width">match_parent</item>
<!--<item name="android:layout_height">wrap_content</item>-->
<item name="android:layout_height">24dp</item>
<item name="android:layout_weight">0.06</item>
<item name="android:layout_margin">15dp</item>
<item name="android:layout_marginBottom">0dp</item>
<item name="android:textSize">18sp</item>
<item name="android:textColor">#808080</item>
</style>
<style name="ListItem">
<item name="android:orientation">horizontal</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_weight">0.06</item>
<item name="android:weightSum">1</item>
</style>
<style name="ListIcon">
<item name="android:layout_width">24dp</item>
<item name="android:layout_height">24dp</item>
<item name="android:layout_gravity">center</item>
<item name="android:layout_margin">10dp</item>
<item name="android:layout_marginLeft">15dp</item>
</style>
<style name="SeparatorList">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">0.5dp</item>
<item name="android:layout_below">@+id/settings</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:layout_marginLeft">50dp</item>
<item name="android:alpha">0.2</item>
<item name="android:background">#ffffff</item>
</style>
<!-- Greed -->
<style name="GreedContainer">
<item name="android:orientation">vertical</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_alignTop">@+id/web_view</item>
<item name="android:layout_alignParentLeft">true</item>
<item name="android:layout_alignParentStart">true</item>
<item name="android:weightSum">1</item>
<item name="android:background">#ffffff</item>
<item name="android:paddingLeft">15dp</item>
<item name="android:paddingRight">15dp</item>
</style>
<style name="TextGreen">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#ffffff</item>
<item name="android:textSize">24sp</item>
</style>
<style name="GreedPanel">
<item name="android:orientation">vertical</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginTop">15dp</item>
</style>
<style name="GreedPanelTitleText">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textSize">14sp</item>
<item name="android:textColor">#98978a</item>
<item name="android:textStyle">normal</item>
<item name="android:padding">15dp</item>
</style>
<style name="RowOne">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">#f8f5f0</item>
</style>
<style name="RowTwo">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">#ffffff</item>
</style>
<style name="TextRow">
<item name="android:layout_weight">1</item>
<item name="android:textColor">#000000</item>
<item name="android:padding">5dip</item>
<item name="android:gravity">left</item>
</style>
<style name="SeparatorRow">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
<item name="android:layout_below">@+id/settings</item>
<item name="android:background">#dfd7ca</item>
</style>
<style name="GreedPanelButtons">
<item name="android:orientation">horizontal</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">#ffffff</item>
</style>
<!-- Popup_Window -->
<style name="Popup_Container">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">35dip</item>
<item name="android:layout_marginRight">35dip</item>
<item name="android:layout_marginTop">200dip</item>
<item name="android:padding">8dip</item>
<item name="android:orientation">vertical</item>
<item name="android:gravity">center_vertical</item>
<item name="android:background">@android:drawable/dialog_frame</item>
</style>
<style name="Popup_Window">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:padding">20dip</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:orientation">vertical</item>
<item name="android:background">#ffffff</item>
<item name="android:gravity">center_vertical</item>
</style>
<style name="Popup_Window_Title">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#000000</item>
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
<item name="android:layout_marginBottom">15dp</item>
</style>
<style name="Popup_Window_Text">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#333333</item>
<item name="android:textSize">16sp</item>
</style>
<!-- Drawer -->
<style name="Drawer">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">40dp</item>
<item name="android:orientation">vertical</item>
</style>
<style name="SpinnertDrawer">
<item name="android:background">@null</item>
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_alignParentBottom">true</item>
<item name="android:clickable">true</item>
<item name="android:textColor">#4a90e2</item>
<item name="android:textSize">20sp</item>
<item name="android:layout_marginLeft">-15dp</item>
</style>
<style name="Popup_Buttons">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">match_parent</item>
<item name="android:orientation">horizontal</item>
<item name="android:gravity">end</item>
</style>
<style name="Popup_Button">
<item name="android:layout_width">100dp</item>
<item name="android:layout_height">40dp</item>
<item name="android:textColor">#666666</item>
<item name="android:textSize">18sp</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@null</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:layout_gravity">right</item>
<item name="android:layout_alignParentEnd">true</item>
<item name="android:layout_alignParentRight">true</item>
</style>
<style name="Popup_Button_Active">
<item name="android:layout_width">100dp</item>
<item name="android:layout_height">40dp</item>
<item name="android:textColor">#4a90e2</item>
<item name="android:textSize">18sp</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@null</item>
<item name="android:layout_marginTop">0dp</item>
<item name="android:layout_gravity">right</item>
<item name="android:layout_alignParentEnd">true</item>
<item name="android:layout_alignParentRight">true</item>
</style>
</resources> </resources>