mirror of
https://github.com/status-im/syng-client.git
synced 2025-02-23 16:38:06 +00:00
Removing redandant files (achieved profile manager activity), Added favicon in drawer. Tinted icons in drawer. Main activity now is singleTop
This commit is contained in:
parent
35adff982a
commit
f3bb5165d6
@ -33,7 +33,8 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name=".activity.MainActivity"
|
android:name=".activity.MainActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:windowSoftInputMode="adjustNothing">
|
android:windowSoftInputMode="adjustNothing"
|
||||||
|
android:launchMode="singleTop">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
|
|
||||||
@ -56,13 +57,8 @@
|
|||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.support.PARENT_ACTIVITY"
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
android:value=".activity.MainActivity"/>
|
android:value=".activity.MainActivity"/>
|
||||||
|
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
|
||||||
android:name=".activity.ProfileManagerActivity"
|
|
||||||
android:label="@string/title_activity_profile_manager"/>
|
|
||||||
|
|
||||||
<service
|
<service
|
||||||
android:name=".service.EthereumService"
|
android:name=".service.EthereumService"
|
||||||
android:enabled="true"
|
android:enabled="true"
|
||||||
|
@ -138,7 +138,6 @@ public abstract class BaseActivity extends AppCompatActivity implements
|
|||||||
initSearch();
|
initSearch();
|
||||||
|
|
||||||
mDrawerLayout.findViewById(R.id.ll_settings).setOnClickListener(this);
|
mDrawerLayout.findViewById(R.id.ll_settings).setOnClickListener(this);
|
||||||
mDrawerLayout.findViewById(R.id.profile_manager).setOnClickListener(this);
|
|
||||||
mDrawerLayout.findViewById(R.id.ll_contribute).setOnClickListener(this);
|
mDrawerLayout.findViewById(R.id.ll_contribute).setOnClickListener(this);
|
||||||
mDrawerLayout.findViewById(R.id.drawer_header).setOnClickListener(this);
|
mDrawerLayout.findViewById(R.id.drawer_header).setOnClickListener(this);
|
||||||
|
|
||||||
@ -152,7 +151,7 @@ public abstract class BaseActivity extends AppCompatActivity implements
|
|||||||
initProfiles();
|
initProfiles();
|
||||||
|
|
||||||
ImageView header = (ImageView) mDrawerLayout.findViewById(R.id.iv_header);
|
ImageView header = (ImageView) mDrawerLayout.findViewById(R.id.iv_header);
|
||||||
Glide.with(this).load(R.drawable.drawer).into(header);
|
Glide.with(this).load(R.drawable.two).into(header);
|
||||||
|
|
||||||
super.setContentView(mDrawerLayout);
|
super.setContentView(mDrawerLayout);
|
||||||
TextView textView = (TextView) findViewById(R.id.tv_name);
|
TextView textView = (TextView) findViewById(R.id.tv_name);
|
||||||
@ -388,10 +387,6 @@ public abstract class BaseActivity extends AppCompatActivity implements
|
|||||||
startActivity(new Intent(BaseActivity.this, SettingsActivity.class));
|
startActivity(new Intent(BaseActivity.this, SettingsActivity.class));
|
||||||
closeDrawer(DRAWER_CLOSE_DELAY_LONG);
|
closeDrawer(DRAWER_CLOSE_DELAY_LONG);
|
||||||
break;
|
break;
|
||||||
case R.id.profile_manager:
|
|
||||||
startActivity(new Intent(BaseActivity.this, ProfileManagerActivity.class));
|
|
||||||
closeDrawer(DRAWER_CLOSE_DELAY_LONG);
|
|
||||||
break;
|
|
||||||
case R.id.drawer_header:
|
case R.id.drawer_header:
|
||||||
flipDrawer();
|
flipDrawer();
|
||||||
break;
|
break;
|
||||||
@ -571,6 +566,8 @@ public abstract class BaseActivity extends AppCompatActivity implements
|
|||||||
intent.setData(Uri.parse(url));
|
intent.setData(Uri.parse(url));
|
||||||
if (intent.resolveActivity(getPackageManager()) != null) {
|
if (intent.resolveActivity(getPackageManager()) != null) {
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
closeDrawer(DRAWER_CLOSE_DELAY_SHORT);
|
||||||
|
mSearchTextView.getText().clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -18,8 +18,15 @@ public class MainActivity extends BaseActivity {
|
|||||||
|
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
|
|
||||||
Intent intent = getIntent();
|
if (savedInstanceState == null) {
|
||||||
|
replaceFragment(new ConsoleFragment());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onNewIntent(Intent intent) {
|
||||||
|
super.onNewIntent(intent);
|
||||||
if (intent.getDataString() != null && intent.getDataString().indexOf("dapp://") == 0) {
|
if (intent.getDataString() != null && intent.getDataString().indexOf("dapp://") == 0) {
|
||||||
WebViewFragment wvF = new WebViewFragment();
|
WebViewFragment wvF = new WebViewFragment();
|
||||||
Bundle args = new Bundle();
|
Bundle args = new Bundle();
|
||||||
@ -27,10 +34,6 @@ public class MainActivity extends BaseActivity {
|
|||||||
wvF.setArguments(args);
|
wvF.setArguments(args);
|
||||||
replaceFragment(wvF);
|
replaceFragment(wvF);
|
||||||
}
|
}
|
||||||
else if (savedInstanceState == null) {
|
|
||||||
replaceFragment(new ConsoleFragment());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -57,5 +60,4 @@ public class MainActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,141 +0,0 @@
|
|||||||
package io.syng.activity;
|
|
||||||
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.EditText;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import com.afollestad.materialdialogs.MaterialDialog;
|
|
||||||
|
|
||||||
import io.syng.R;
|
|
||||||
import io.syng.entity.Dapp;
|
|
||||||
import io.syng.entity.Profile;
|
|
||||||
import io.syng.fragment.AddProfileFragment;
|
|
||||||
import io.syng.fragment.ProfileManagerFragment;
|
|
||||||
import io.syng.interfaces.OnFragmentInteractionListener;
|
|
||||||
|
|
||||||
|
|
||||||
public class ProfileManagerActivity extends BaseActivity implements OnFragmentInteractionListener {
|
|
||||||
|
|
||||||
private AddProfileFragment addProfileFragment;
|
|
||||||
private ProfileManagerFragment profileManagerFragment;
|
|
||||||
|
|
||||||
private TextView saveProfileLink;
|
|
||||||
private TextView addProfileLink;
|
|
||||||
|
|
||||||
private View profileManagerContainer;
|
|
||||||
private View addProfileContainer;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
setContentView(R.layout.activity_profile_manager);
|
|
||||||
|
|
||||||
saveProfileLink = (TextView) findViewById(R.id.save_profile_link);
|
|
||||||
saveProfileLink.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View view) {
|
|
||||||
|
|
||||||
final Profile profile = addProfileFragment.getProfile();
|
|
||||||
if (profile.getPasswordProtectedProfile()) {
|
|
||||||
new MaterialDialog.Builder(ProfileManagerActivity.this)
|
|
||||||
.title(R.string.request_profile_password)
|
|
||||||
.customView(R.layout.profile_password, true)
|
|
||||||
.positiveText(R.string.ok)
|
|
||||||
.negativeText(R.string.cancel)
|
|
||||||
// .contentColor(R.color.accent) // notice no 'res' postfix for literal color
|
|
||||||
.dividerColorRes(R.color.accent)
|
|
||||||
.backgroundColorRes(R.color.primary_dark)
|
|
||||||
.positiveColorRes(R.color.accent)
|
|
||||||
.negativeColorRes(R.color.accent)
|
|
||||||
.widgetColorRes(R.color.accent)
|
|
||||||
.callback(new MaterialDialog.ButtonCallback() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPositive(MaterialDialog dialog) {
|
|
||||||
|
|
||||||
View view = dialog.getCustomView();
|
|
||||||
EditText passwordInput = (EditText) view.findViewById(R.id.passwordInput);
|
|
||||||
profile.encrypt(passwordInput.getText().toString());
|
|
||||||
profileManagerFragment.addProfile(profile);
|
|
||||||
hideAddProfile();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNegative(MaterialDialog dialog) {
|
|
||||||
|
|
||||||
dialog.hide();
|
|
||||||
// spinner.setSelection(currentPosition, false);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.build()
|
|
||||||
.show();
|
|
||||||
} else {
|
|
||||||
profileManagerFragment.addProfile(profile);
|
|
||||||
hideAddProfile();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
addProfileLink = (TextView) findViewById(R.id.add_profile_link);
|
|
||||||
addProfileLink.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View view) {
|
|
||||||
profileManagerFragment.resetProfilePosition();
|
|
||||||
showAddProfile(null);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (savedInstanceState == null) {
|
|
||||||
addProfileFragment = new AddProfileFragment();
|
|
||||||
profileManagerFragment = new ProfileManagerFragment();
|
|
||||||
getSupportFragmentManager().beginTransaction()
|
|
||||||
.add(R.id.profileManagerFragmentContainer, profileManagerFragment)
|
|
||||||
.add(R.id.addProfileFragmentContainer, addProfileFragment)
|
|
||||||
.commit();
|
|
||||||
}
|
|
||||||
|
|
||||||
addProfileContainer = findViewById(R.id.addProfileFragmentContainer);
|
|
||||||
profileManagerContainer = findViewById(R.id.profileManagerFragmentContainer);
|
|
||||||
|
|
||||||
hideAddProfile();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void showAddProfile(Profile profile) {
|
|
||||||
|
|
||||||
profileManagerContainer.setVisibility(View.INVISIBLE);
|
|
||||||
addProfileLink.setVisibility(View.INVISIBLE);
|
|
||||||
|
|
||||||
addProfileContainer.setVisibility(View.VISIBLE);
|
|
||||||
saveProfileLink.setVisibility(View.VISIBLE);
|
|
||||||
|
|
||||||
addProfileFragment.setProfile(profile);
|
|
||||||
|
|
||||||
getSupportActionBar().setTitle(R.string.add_profile);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void hideAddProfile() {
|
|
||||||
|
|
||||||
addProfileContainer.setVisibility(View.INVISIBLE);
|
|
||||||
profileManagerContainer.setVisibility(View.VISIBLE);
|
|
||||||
addProfileLink.setVisibility(View.VISIBLE);
|
|
||||||
saveProfileLink.setVisibility(View.INVISIBLE);
|
|
||||||
|
|
||||||
getSupportActionBar().setTitle(R.string.profile_manager_title);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addProfile(Profile profile) {
|
|
||||||
profileManagerFragment.addProfile(profile);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFragmentInteraction(Uri uri) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onDAppClick(Dapp dapp) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -22,8 +22,11 @@ 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();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -60,7 +63,7 @@ public class DAppDrawerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
|
|||||||
SimpleViewHolder myHolder = (SimpleViewHolder) holder;
|
SimpleViewHolder myHolder = (SimpleViewHolder) holder;
|
||||||
final Dapp dapp = mDataSet.get(position);
|
final Dapp dapp = mDataSet.get(position);
|
||||||
myHolder.nameTextView.setText(dapp.getName());
|
myHolder.nameTextView.setText(dapp.getName());
|
||||||
myHolder.nameTextView.setOnClickListener(new View.OnClickListener() {
|
myHolder.item.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (mListener != null) {
|
if (mListener != null) {
|
||||||
@ -68,7 +71,7 @@ public class DAppDrawerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
myHolder.nameTextView.setOnLongClickListener(new View.OnLongClickListener() {
|
myHolder.item.setOnLongClickListener(new View.OnLongClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onLongClick(View v) {
|
public boolean onLongClick(View v) {
|
||||||
if (mListener != null) {
|
if (mListener != null) {
|
||||||
@ -141,10 +144,12 @@ public class DAppDrawerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
|
|||||||
static class SimpleViewHolder extends RecyclerView.ViewHolder {
|
static class SimpleViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
private TextView nameTextView;
|
private TextView nameTextView;
|
||||||
|
private View item;
|
||||||
|
|
||||||
public SimpleViewHolder(View v) {
|
public SimpleViewHolder(View v) {
|
||||||
super(v);
|
super(v);
|
||||||
nameTextView = (TextView) v.findViewById(R.id.text);
|
nameTextView = (TextView) v.findViewById(R.id.text);
|
||||||
|
item = v.findViewById(R.id.ll_dapp_item);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,98 +0,0 @@
|
|||||||
package io.syng.adapter;
|
|
||||||
|
|
||||||
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import co.dift.ui.SwipeToAction;
|
|
||||||
import io.syng.R;
|
|
||||||
import io.syng.entity.Dapp;
|
|
||||||
|
|
||||||
public class DappAdapter extends RecyclerView.Adapter<DappAdapter.DappViewHolder> {
|
|
||||||
|
|
||||||
private ArrayList<Dapp> mDataSet;
|
|
||||||
|
|
||||||
public void add(int position, Dapp item) {
|
|
||||||
mDataSet.add(position, item);
|
|
||||||
notifyItemInserted(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void set(int position, Dapp item) {
|
|
||||||
mDataSet.set(position, item);
|
|
||||||
notifyItemChanged(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void add(Dapp item) {
|
|
||||||
mDataSet.add(item);
|
|
||||||
int position = mDataSet.indexOf(item);
|
|
||||||
notifyItemInserted(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void remove(Dapp item) {
|
|
||||||
int position = mDataSet.indexOf(item);
|
|
||||||
mDataSet.remove(position);
|
|
||||||
notifyItemRemoved(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clear() {
|
|
||||||
mDataSet.clear();
|
|
||||||
notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPosition(Dapp dapp) {
|
|
||||||
return mDataSet.indexOf(dapp);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ArrayList<Dapp> getItems() {
|
|
||||||
return mDataSet;
|
|
||||||
}
|
|
||||||
|
|
||||||
public DappAdapter(ArrayList<Dapp> dataset) {
|
|
||||||
this.mDataSet = dataset;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public DappAdapter.DappViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
|
||||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.dapp_item, parent, false);
|
|
||||||
return new DappViewHolder(v);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Replace the contents of a view (invoked by the layout manager)
|
|
||||||
@Override
|
|
||||||
public void onBindViewHolder(DappViewHolder holder, int position) {
|
|
||||||
|
|
||||||
// - get element from your dataset at this position
|
|
||||||
// - replace the contents of the view with that element
|
|
||||||
final Dapp dapp = mDataSet.get(position);
|
|
||||||
DappViewHolder viewHolder = (DappViewHolder) holder;
|
|
||||||
viewHolder.data = dapp;
|
|
||||||
holder.txtHeader.setText(mDataSet.get(position).getName());
|
|
||||||
holder.txtFooter.setText("Footer: " + mDataSet.get(position).getName());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the size of your dataset (invoked by the layout manager)
|
|
||||||
@Override
|
|
||||||
public int getItemCount() {
|
|
||||||
return mDataSet.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
static class DappViewHolder extends SwipeToAction.ViewHolder<Dapp> {
|
|
||||||
|
|
||||||
public TextView txtHeader;
|
|
||||||
public TextView txtFooter;
|
|
||||||
|
|
||||||
public DappViewHolder(View v) {
|
|
||||||
|
|
||||||
super(v);
|
|
||||||
txtHeader = (TextView) v.findViewById(R.id.firstLine);
|
|
||||||
txtFooter = (TextView) v.findViewById(R.id.secondLine);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,112 +0,0 @@
|
|||||||
package io.syng.adapter;
|
|
||||||
|
|
||||||
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import co.dift.ui.SwipeToAction;
|
|
||||||
import io.syng.R;
|
|
||||||
import io.syng.entity.Profile;
|
|
||||||
|
|
||||||
public class ProfileAdapter extends RecyclerView.Adapter<ProfileAdapter.ProfileViewHolder> {
|
|
||||||
|
|
||||||
private ArrayList<Profile> mDataSet;
|
|
||||||
|
|
||||||
public void add(int position, Profile item) {
|
|
||||||
|
|
||||||
mDataSet.add(position, item);
|
|
||||||
notifyItemInserted(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void set(int position, Profile item) {
|
|
||||||
|
|
||||||
mDataSet.set(position, item);
|
|
||||||
notifyItemChanged(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void add(Profile item) {
|
|
||||||
|
|
||||||
mDataSet.add(item);
|
|
||||||
int position = mDataSet.indexOf(item);
|
|
||||||
notifyItemInserted(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void remove(Profile item) {
|
|
||||||
|
|
||||||
int position = mDataSet.indexOf(item);
|
|
||||||
mDataSet.remove(position);
|
|
||||||
notifyItemRemoved(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void clear() {
|
|
||||||
|
|
||||||
mDataSet.clear();
|
|
||||||
notifyDataSetChanged();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPosition(Profile item) {
|
|
||||||
|
|
||||||
return mDataSet.indexOf(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ArrayList<Profile> getItems() {
|
|
||||||
|
|
||||||
return (ArrayList<Profile>) mDataSet.clone();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ProfileAdapter(ArrayList<Profile> dataset) {
|
|
||||||
|
|
||||||
this.mDataSet = dataset;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ProfileAdapter.ProfileViewHolder onCreateViewHolder(ViewGroup parent,
|
|
||||||
int viewType) {
|
|
||||||
|
|
||||||
// create a new view
|
|
||||||
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.profile_item, parent, false);
|
|
||||||
// set the view's size, margins, paddings and layout parameters
|
|
||||||
ProfileViewHolder vh = new ProfileViewHolder(v);
|
|
||||||
return vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Replace the contents of a view (invoked by the layout manager)
|
|
||||||
@Override
|
|
||||||
public void onBindViewHolder(ProfileViewHolder holder, int position) {
|
|
||||||
|
|
||||||
// - get element from your dataset at this position
|
|
||||||
// - replace the contents of the view with that element
|
|
||||||
final Profile profile = mDataSet.get(position);
|
|
||||||
ProfileViewHolder viewHolder = holder;
|
|
||||||
viewHolder.data = profile;
|
|
||||||
holder.txtHeader.setText(mDataSet.get(position).getName());
|
|
||||||
holder.txtFooter.setText("Footer: " + mDataSet.get(position).getName());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Return the size of your dataset (invoked by the layout manager)
|
|
||||||
@Override
|
|
||||||
public int getItemCount() {
|
|
||||||
|
|
||||||
return mDataSet.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
public class ProfileViewHolder extends SwipeToAction.ViewHolder<Profile> {
|
|
||||||
|
|
||||||
public TextView txtHeader;
|
|
||||||
public TextView txtFooter;
|
|
||||||
|
|
||||||
public ProfileViewHolder(View v) {
|
|
||||||
|
|
||||||
super(v);
|
|
||||||
txtHeader = (TextView) v.findViewById(R.id.firstLine);
|
|
||||||
txtFooter = (TextView) v.findViewById(R.id.secondLine);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,325 +0,0 @@
|
|||||||
package io.syng.fragment;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.text.InputType;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.EditText;
|
|
||||||
import android.widget.RadioButton;
|
|
||||||
import android.widget.Switch;
|
|
||||||
import android.widget.TextView;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import com.afollestad.materialdialogs.MaterialDialog;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import co.dift.ui.SwipeToAction;
|
|
||||||
import io.syng.R;
|
|
||||||
import io.syng.adapter.DappAdapter;
|
|
||||||
import io.syng.entity.Dapp;
|
|
||||||
import io.syng.entity.Profile;
|
|
||||||
import io.syng.interfaces.OnFragmentInteractionListener;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A simple {@link Fragment} subclass.
|
|
||||||
* Activities that contain this fragment must implement the
|
|
||||||
* {@link OnFragmentInteractionListener} interface
|
|
||||||
* to handle interaction events.
|
|
||||||
*/
|
|
||||||
public class AddProfileFragment extends Fragment {
|
|
||||||
|
|
||||||
private EditText profileName;
|
|
||||||
private Switch profilePasswordProtected;
|
|
||||||
|
|
||||||
private RecyclerView mDappsRecyclerView;
|
|
||||||
private DappAdapter mAdapter;
|
|
||||||
private RecyclerView.LayoutManager mLayoutManager;
|
|
||||||
private SwipeToAction swipeToAction;
|
|
||||||
private ArrayList<Dapp> mDappsList = new ArrayList<>();
|
|
||||||
|
|
||||||
private OnFragmentInteractionListener mListener;
|
|
||||||
|
|
||||||
private MaterialDialog dappDialog;
|
|
||||||
private EditText dappName;
|
|
||||||
private EditText dappUrl;
|
|
||||||
|
|
||||||
private Dapp addDapp = new Dapp("new_app_id", "Add new dapp");
|
|
||||||
|
|
||||||
private int dapEditPosition = -1;
|
|
||||||
|
|
||||||
private TextView walletModeButton;
|
|
||||||
private MaterialDialog walletModeDialog;
|
|
||||||
private RadioButton walletCreate;
|
|
||||||
private RadioButton walletImportFile;
|
|
||||||
private RadioButton accountModeImportString;
|
|
||||||
private EditText walletImportSource;
|
|
||||||
|
|
||||||
private int accountMode;
|
|
||||||
private String accountPrivateKey = null;
|
|
||||||
|
|
||||||
protected View.OnClickListener accountModeListener = new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View view) {
|
|
||||||
accountMode = view.getId();
|
|
||||||
switch(accountMode) {
|
|
||||||
case R.id.radio_new_account:
|
|
||||||
walletImportSource.setInputType(InputType.TYPE_NULL);
|
|
||||||
break;
|
|
||||||
case R.id.radio_import_file:
|
|
||||||
case R.id.radio_import_string:
|
|
||||||
walletImportSource.setInputType(InputType.TYPE_CLASS_TEXT);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public void setProfile(Profile profile) {
|
|
||||||
|
|
||||||
profileName.setText(profile != null ? profile.getName() : "");
|
|
||||||
profilePasswordProtected.setChecked(profile != null ? profile.getPasswordProtectedProfile() : false);
|
|
||||||
|
|
||||||
resetDapps();
|
|
||||||
if (profile != null) {
|
|
||||||
for (Dapp dapp : profile.getDapps()) {
|
|
||||||
mAdapter.add(dapp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void resetDapps() {
|
|
||||||
mAdapter.clear();
|
|
||||||
mAdapter.add(addDapp);
|
|
||||||
}
|
|
||||||
|
|
||||||
public Profile getProfile() {
|
|
||||||
Profile profile = accountPrivateKey != null ? new Profile(accountPrivateKey) : new Profile();
|
|
||||||
profile.setName(profileName.getText().toString());
|
|
||||||
profile.setPasswordProtectedProfile(profilePasswordProtected.isChecked());
|
|
||||||
List<Dapp> dapps = mAdapter.getItems();
|
|
||||||
dapps.remove(addDapp);
|
|
||||||
profile.setDapps(dapps);
|
|
||||||
return profile;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void editDapp(Dapp dapp) {
|
|
||||||
dapEditPosition = mAdapter.getPosition(dapp);
|
|
||||||
dappName.setText(dapp.getName());
|
|
||||||
dappUrl.setText(dapp.getUrl());
|
|
||||||
dappDialog.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void createDapp() {
|
|
||||||
dapEditPosition = -1;
|
|
||||||
Dapp dapp = new Dapp();
|
|
||||||
dappName.setText(dapp.getName());
|
|
||||||
dappUrl.setText(dapp.getUrl());
|
|
||||||
dappDialog.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
||||||
Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
View view = inflater.inflate(R.layout.fragment_add_profile, container, false);
|
|
||||||
|
|
||||||
profileName = (EditText) view.findViewById(R.id.profile_name);
|
|
||||||
profilePasswordProtected = (Switch) view.findViewById(R.id.profile_password_protected);
|
|
||||||
|
|
||||||
walletModeButton = (TextView)view.findViewById(R.id.wallet_mode);
|
|
||||||
walletModeDialog = new MaterialDialog.Builder(getActivity())
|
|
||||||
.title(R.string.wallet_title)
|
|
||||||
.customView(R.layout.wallet_creation_mode, true)
|
|
||||||
.positiveText(R.string.ok)
|
|
||||||
.negativeText(R.string.cancel)
|
|
||||||
.contentColor(getResources().getColor(R.color.accent))
|
|
||||||
.dividerColorRes(R.color.accent)
|
|
||||||
.backgroundColorRes(R.color.primary_dark)
|
|
||||||
.positiveColorRes(R.color.accent)
|
|
||||||
.negativeColorRes(R.color.accent)
|
|
||||||
.widgetColorRes(R.color.accent)
|
|
||||||
.autoDismiss(false)
|
|
||||||
.callback(new MaterialDialog.ButtonCallback() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPositive(MaterialDialog dialog) {
|
|
||||||
|
|
||||||
boolean hideDialog = true;
|
|
||||||
accountPrivateKey = null;
|
|
||||||
switch (accountMode) {
|
|
||||||
case R.id.radio_new_account:
|
|
||||||
|
|
||||||
break;
|
|
||||||
case R.id.radio_import_file:
|
|
||||||
File file = new File(walletImportSource.getText().toString());
|
|
||||||
if (file.exists()) {
|
|
||||||
StringBuilder text = new StringBuilder();
|
|
||||||
|
|
||||||
try {
|
|
||||||
BufferedReader buffer = new BufferedReader(new FileReader(file));
|
|
||||||
String line;
|
|
||||||
|
|
||||||
while ((line = buffer.readLine()) != null) {
|
|
||||||
text.append(line);
|
|
||||||
}
|
|
||||||
buffer.close();
|
|
||||||
accountPrivateKey = text.toString();
|
|
||||||
} catch (IOException e) {
|
|
||||||
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Toast.makeText(getActivity(), "File not found", Toast.LENGTH_LONG).show();
|
|
||||||
hideDialog = false;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case R.id.radio_import_string:
|
|
||||||
accountPrivateKey = walletImportSource.getText().toString();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (hideDialog) {
|
|
||||||
dialog.hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNegative(MaterialDialog dialog) {
|
|
||||||
|
|
||||||
dialog.hide();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.build();
|
|
||||||
walletModeButton.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View view) {
|
|
||||||
walletModeDialog.show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
View accountModeView = walletModeDialog.getCustomView();
|
|
||||||
walletCreate = (RadioButton)accountModeView.findViewById(R.id.radio_new_account);
|
|
||||||
walletImportFile = (RadioButton)accountModeView.findViewById(R.id.radio_import_file);
|
|
||||||
accountModeImportString = (RadioButton)accountModeView.findViewById(R.id.radio_import_string);
|
|
||||||
walletImportSource = (EditText)accountModeView.findViewById(R.id.accout_import_source);
|
|
||||||
|
|
||||||
walletCreate.setOnClickListener(accountModeListener);
|
|
||||||
walletImportFile.setOnClickListener(accountModeListener);
|
|
||||||
accountModeImportString.setOnClickListener(accountModeListener);
|
|
||||||
mDappsRecyclerView = (RecyclerView) view.findViewById(R.id.profile_dapps_list);
|
|
||||||
|
|
||||||
// use this setting to improve performance if you know that changes
|
|
||||||
// in content do not change the layout size of the RecyclerView
|
|
||||||
mDappsRecyclerView.setHasFixedSize(true);
|
|
||||||
|
|
||||||
// use a linear layout manager
|
|
||||||
mLayoutManager = new LinearLayoutManager(getActivity());
|
|
||||||
mDappsRecyclerView.setLayoutManager(mLayoutManager);
|
|
||||||
|
|
||||||
mAdapter = new DappAdapter(mDappsList);
|
|
||||||
resetDapps();
|
|
||||||
mDappsRecyclerView.setAdapter(mAdapter);
|
|
||||||
|
|
||||||
swipeToAction = new SwipeToAction(mDappsRecyclerView, new SwipeToAction.SwipeListener<Dapp>() {
|
|
||||||
@Override
|
|
||||||
public boolean swipeLeft(final Dapp itemData) {
|
|
||||||
mAdapter.remove(itemData);
|
|
||||||
return false; //true will move the front view to its starting position
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean swipeRight(Dapp itemData) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(Dapp itemData) {
|
|
||||||
if (itemData.getId() == "new_app_id") {
|
|
||||||
createDapp();
|
|
||||||
} else {
|
|
||||||
editDapp(itemData);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLongClick(Dapp itemData) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
boolean wrapInScrollView = true;
|
|
||||||
dappDialog = new MaterialDialog.Builder(getActivity())
|
|
||||||
.title(R.string.dapp_dialog_title)
|
|
||||||
.customView(R.layout.dapp_form, wrapInScrollView)
|
|
||||||
.positiveText(R.string.save)
|
|
||||||
.negativeText(R.string.cancel)
|
|
||||||
.contentColor(getResources().getColor(R.color.accent)) // notice no 'res' postfix for literal color
|
|
||||||
.dividerColorRes(R.color.accent)
|
|
||||||
.backgroundColorRes(R.color.primary_dark)
|
|
||||||
.positiveColorRes(R.color.accent)
|
|
||||||
.negativeColorRes(R.color.accent)
|
|
||||||
.widgetColorRes(R.color.accent)
|
|
||||||
.callback(new MaterialDialog.ButtonCallback() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPositive(MaterialDialog dialog) {
|
|
||||||
|
|
||||||
View view = dialog.getCustomView();
|
|
||||||
Dapp dapp = new Dapp();
|
|
||||||
dapp.setName(dappName.getText().toString());
|
|
||||||
dapp.setUrl(dappUrl.getText().toString());
|
|
||||||
if (dapEditPosition > -1) {
|
|
||||||
mAdapter.set(dapEditPosition, dapp);
|
|
||||||
} else {
|
|
||||||
mAdapter.add(dapp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNegative(MaterialDialog dialog) {
|
|
||||||
dialog.hide();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.build();
|
|
||||||
dappName = (EditText) dappDialog.findViewById(R.id.dapp_name);
|
|
||||||
dappUrl = (EditText) dappDialog.findViewById(R.id.dapp_url);
|
|
||||||
|
|
||||||
return view;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Rename method, update argument and hook method into UI event
|
|
||||||
public void onButtonPressed(Uri uri) {
|
|
||||||
if (mListener != null) {
|
|
||||||
mListener.onFragmentInteraction(uri);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAttach(Activity activity) {
|
|
||||||
super.onAttach(activity);
|
|
||||||
try {
|
|
||||||
mListener = (OnFragmentInteractionListener) activity;
|
|
||||||
} catch (ClassCastException e) {
|
|
||||||
throw new ClassCastException(activity.toString()
|
|
||||||
+ " must implement OnFragmentInteractionListener");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDetach() {
|
|
||||||
super.onDetach();
|
|
||||||
mListener = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,161 +0,0 @@
|
|||||||
package io.syng.fragment;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.net.Uri;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.support.v4.app.Fragment;
|
|
||||||
import android.support.v7.widget.LinearLayoutManager;
|
|
||||||
import android.support.v7.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
|
||||||
import android.view.View;
|
|
||||||
import android.view.ViewGroup;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import co.dift.ui.SwipeToAction;
|
|
||||||
import io.syng.R;
|
|
||||||
import io.syng.activity.BaseActivity;
|
|
||||||
import io.syng.activity.ProfileManagerActivity;
|
|
||||||
import io.syng.adapter.ProfileAdapter;
|
|
||||||
import io.syng.entity.Profile;
|
|
||||||
import io.syng.interfaces.OnFragmentInteractionListener;
|
|
||||||
import io.syng.util.PrefsUtil;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A placeholder fragment containing a simple view.
|
|
||||||
*/
|
|
||||||
public class ProfileManagerFragment extends Fragment {
|
|
||||||
|
|
||||||
private RecyclerView recyclerView;
|
|
||||||
private ProfileAdapter adapter;
|
|
||||||
private RecyclerView.LayoutManager layoutManager;
|
|
||||||
|
|
||||||
private ArrayList<Profile> profiles = new ArrayList<>();
|
|
||||||
|
|
||||||
private SwipeToAction swipeToAction;
|
|
||||||
|
|
||||||
private OnFragmentInteractionListener mListener;
|
|
||||||
|
|
||||||
public int profileEditPosition = -1;
|
|
||||||
|
|
||||||
public static ProfileManagerFragment newInstance(String param1, String param2) {
|
|
||||||
|
|
||||||
ProfileManagerFragment fragment = new ProfileManagerFragment();
|
|
||||||
return fragment;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ProfileManagerFragment() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addProfile(Profile profile) {
|
|
||||||
|
|
||||||
if (profileEditPosition > -1) {
|
|
||||||
adapter.set(profileEditPosition, profile);
|
|
||||||
} else {
|
|
||||||
adapter.add(profile);
|
|
||||||
}
|
|
||||||
updateProfiles();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void resetProfilePosition() {
|
|
||||||
profileEditPosition = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateProfiles() {
|
|
||||||
|
|
||||||
BaseActivity activity = (BaseActivity)getActivity();
|
|
||||||
PrefsUtil.saveProfiles(adapter.getItems());
|
|
||||||
activity.initSpinner();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
||||||
Bundle savedInstanceState) {
|
|
||||||
|
|
||||||
View view = inflater.inflate(R.layout.fragment_profile_manager, container, false);
|
|
||||||
|
|
||||||
recyclerView = (RecyclerView) view.findViewById(R.id.profile_recycler_view);
|
|
||||||
|
|
||||||
// use this setting to improve performance if you know that changes
|
|
||||||
// in content do not change the layout size of the RecyclerView
|
|
||||||
recyclerView.setHasFixedSize(true);
|
|
||||||
|
|
||||||
// use a linear layout manager
|
|
||||||
layoutManager = new LinearLayoutManager(getActivity());
|
|
||||||
recyclerView.setLayoutManager(layoutManager);
|
|
||||||
|
|
||||||
// specify an adapter (see also next example)
|
|
||||||
|
|
||||||
profiles = PrefsUtil.getProfiles();
|
|
||||||
adapter = new ProfileAdapter(profiles);
|
|
||||||
recyclerView.setAdapter(adapter);
|
|
||||||
|
|
||||||
swipeToAction = new SwipeToAction(recyclerView, new SwipeToAction.SwipeListener<Profile>() {
|
|
||||||
@Override
|
|
||||||
public boolean swipeLeft(final Profile itemData) {
|
|
||||||
|
|
||||||
adapter.remove(itemData);
|
|
||||||
updateProfiles();
|
|
||||||
return false; //true will move the front view to its starting position
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean swipeRight(Profile itemData) {
|
|
||||||
//do something
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onClick(Profile itemData) {
|
|
||||||
|
|
||||||
profileEditPosition = adapter.getPosition(itemData);
|
|
||||||
ProfileManagerActivity activity = (ProfileManagerActivity)getActivity();
|
|
||||||
activity.showAddProfile(itemData);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLongClick(Profile itemData) {
|
|
||||||
//do something
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return view;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Rename method, update argument and hook method into UI event
|
|
||||||
public void onButtonPressed(Uri uri) {
|
|
||||||
|
|
||||||
if (mListener != null) {
|
|
||||||
mListener.onFragmentInteraction(uri);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAttach(Activity activity) {
|
|
||||||
|
|
||||||
super.onAttach(activity);
|
|
||||||
try {
|
|
||||||
mListener = (OnFragmentInteractionListener) activity;
|
|
||||||
} catch (ClassCastException e) {
|
|
||||||
throw new ClassCastException(activity.toString()
|
|
||||||
+ " must implement OnFragmentInteractionListener");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDetach() {
|
|
||||||
|
|
||||||
super.onDetach();
|
|
||||||
mListener = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
package io.syng.interfaces;
|
|
||||||
|
|
||||||
import android.net.Uri;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This interface must be implemented by activities that contain this
|
|
||||||
* fragment to allow an interaction in this fragment to be communicated
|
|
||||||
* to the activity and potentially other fragments contained in that
|
|
||||||
* activity.
|
|
||||||
* <p/>
|
|
||||||
* See the Android Training lesson <a href=
|
|
||||||
* "http://developer.android.com/training/basics/fragments/communicating.html"
|
|
||||||
* >Communicating with Other Fragments</a> for more information.
|
|
||||||
*/
|
|
||||||
public interface OnFragmentInteractionListener {
|
|
||||||
|
|
||||||
// TODO: Update argument type and name
|
|
||||||
void onFragmentInteraction(Uri uri);
|
|
||||||
}
|
|
BIN
app/src/main/res/drawable-hdpi/ic_favorite_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-hdpi/ic_favorite_black_24dp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 361 B |
BIN
app/src/main/res/drawable-mdpi/ic_favorite_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-mdpi/ic_favorite_black_24dp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 247 B |
BIN
app/src/main/res/drawable-xhdpi/ic_favorite_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_favorite_black_24dp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 437 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_favorite_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-xxhdpi/ic_favorite_black_24dp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 636 B |
BIN
app/src/main/res/drawable-xxxhdpi/ic_favorite_black_24dp.png
Normal file
BIN
app/src/main/res/drawable-xxxhdpi/ic_favorite_black_24dp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 802 B |
@ -12,7 +12,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:src="@drawable/ic_add_black_24dp"/>
|
android:src="@drawable/ic_add_black_24dp"
|
||||||
|
android:tint="@color/drawer_icons_color"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_add_account"
|
android:id="@+id/tv_add_account"
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_account_name"
|
android:id="@+id/tv_account_name"
|
||||||
|
style="@style/Base.TextAppearance.AppCompat.Body2"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
|
@ -1,57 +0,0 @@
|
|||||||
<RelativeLayout
|
|
||||||
android:id="@+id/profileManagerContainer"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:title="@string/manage_profiles"
|
|
||||||
tools:context="io.syng.activity.ProfileManagerActivity">
|
|
||||||
|
|
||||||
<android.support.v7.widget.Toolbar
|
|
||||||
android:id="@+id/myToolbar"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="?actionBarSize"
|
|
||||||
android:background="@color/primary_dark"
|
|
||||||
android:gravity="end">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/add_profile_link"
|
|
||||||
style="@style/ToolbarIcon"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/add_profile"
|
|
||||||
android:textColor="@color/accent"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/save_profile_link"
|
|
||||||
style="@style/ToolbarIcon"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/save"
|
|
||||||
android:textColor="@color/accent"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
</android.support.v7.widget.Toolbar>
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/profileManagerFragmentContainer"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_below="@id/myToolbar"
|
|
||||||
android:visibility="visible">
|
|
||||||
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/addProfileFragmentContainer"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:layout_below="@id/myToolbar"
|
|
||||||
android:visibility="invisible">
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
@ -1,26 +1,43 @@
|
|||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_add"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="?attr/listPreferredItemHeightSmall"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/selectableItemBackground"
|
android:orientation="vertical">
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:orientation="horizontal"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
|
|
||||||
<ImageView
|
<View
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="0.05dp"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginBottom="4dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginTop="4dp"
|
||||||
android:src="@drawable/ic_add_black_24dp"/>
|
android:background="#D7D7D7"
|
||||||
|
/>
|
||||||
|
|
||||||
<TextView
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:id="@+id/ll_add"
|
||||||
android:layout_height="wrap_content"
|
android:layout_width="match_parent"
|
||||||
style="@style/Base.TextAppearance.AppCompat.Body2"
|
android:layout_height="?attr/listPreferredItemHeightSmall"
|
||||||
android:layout_marginLeft="16dp"
|
android:background="?attr/selectableItemBackground"
|
||||||
android:layout_marginStart="16dp"
|
android:gravity="center_vertical"
|
||||||
android:textColor="@android:color/black"
|
android:orientation="horizontal"
|
||||||
android:text="Add new app"/>
|
>
|
||||||
|
|
||||||
</LinearLayout>
|
<ImageView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="16dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:src="@drawable/ic_add_black_24dp"
|
||||||
|
android:tint="@color/drawer_icons_color"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
style="@style/Base.TextAppearance.AppCompat.Body2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="16dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:text="Add new app"
|
||||||
|
android:textColor="@android:color/black"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
@ -12,7 +12,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:src="@drawable/ic_search_black_24dp"/>
|
android:src="@drawable/ic_search_black_24dp"
|
||||||
|
android:tint="@color/drawer_icons_color"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
@ -1,13 +1,33 @@
|
|||||||
<TextView
|
<LinearLayout
|
||||||
android:id="@+id/text"
|
android:id="@+id/ll_dapp_item"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="?attr/listPreferredItemHeightSmall"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
android:orientation="horizontal">
|
||||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
|
||||||
android:paddingEnd="16dp"
|
<ImageView
|
||||||
android:paddingStart="16dp"
|
android:layout_width="wrap_content"
|
||||||
android:textColor="@android:color/black"
|
android:layout_height="wrap_content"
|
||||||
android:background="?attr/selectableItemBackground"/>
|
android:layout_marginLeft="16dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:src="@drawable/ic_favorite_black_24dp"
|
||||||
|
android:tint="@color/drawer_icons_color"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/text"
|
||||||
|
style="@style/Base.TextAppearance.AppCompat.Body2"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="16dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:textColor="@android:color/black"
|
||||||
|
tools:text="Test text"
|
||||||
|
/>
|
||||||
|
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,83 +0,0 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="?android:attr/listPreferredItemHeight">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:background="@color/white"
|
|
||||||
android:tag="reveal-right">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentLeft="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginLeft="20dp"
|
|
||||||
android:tint="@color/icons"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<!-- this view reveals when swipe left -->
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
android:background="@color/red"
|
|
||||||
android:tag="reveal-left">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginLeft="20dp"
|
|
||||||
android:src="@drawable/ic_delete_black_24dp"
|
|
||||||
android:tint="@color/icons"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<!-- this is the item front view -->
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@color/primary_dark"
|
|
||||||
android:tag="front">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/icon"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:contentDescription="TODO"
|
|
||||||
android:src="@drawable/ico_display"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/secondLine"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="26dip"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_toRightOf="@id/icon"
|
|
||||||
android:ellipsize="marquee"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:text="Description"
|
|
||||||
android:textColor="@color/accent"
|
|
||||||
android:textSize="12sp"/>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/firstLine"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_above="@id/secondLine"
|
|
||||||
android:layout_alignParentRight="true"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:layout_alignWithParentIfMissing="true"
|
|
||||||
android:layout_toRightOf="@id/icon"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:text="Example profile"
|
|
||||||
android:textColor="@color/accent"
|
|
||||||
android:textSize="16sp"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
@ -17,20 +17,6 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
>
|
>
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/profile_manager"
|
|
||||||
style="@style/Base.TextAppearance.AppCompat.Body2"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="?attr/listPreferredItemHeightSmall"
|
|
||||||
android:background="?attr/selectableItemBackground"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:paddingLeft="32dp"
|
|
||||||
android:paddingStart="32dp"
|
|
||||||
android:text="Profile Manager"
|
|
||||||
android:textAllCaps="true"
|
|
||||||
android:visibility="gone"/>
|
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_settings"
|
android:id="@+id/ll_settings"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -44,7 +30,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:src="@drawable/ic_settings_black_24dp"/>
|
android:src="@drawable/ic_settings_black_24dp"
|
||||||
|
android:tint="@color/drawer_icons_color"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/settings"
|
android:id="@+id/settings"
|
||||||
@ -60,7 +47,6 @@
|
|||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/ll_contribute"
|
android:id="@+id/ll_contribute"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -74,7 +60,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:src="@drawable/ic_github_circle_black_24dp"/>
|
android:src="@drawable/ic_github_circle_black_24dp"
|
||||||
|
android:tint="@color/drawer_icons_color"/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_contribute"
|
android:id="@+id/tv_contribute"
|
||||||
|
@ -12,8 +12,7 @@
|
|||||||
android:id="@+id/drawer_main_content"
|
android:id="@+id/drawer_main_content"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1">
|
||||||
>
|
|
||||||
|
|
||||||
<include layout="@layout/drawer_back_view"/>
|
<include layout="@layout/drawer_back_view"/>
|
||||||
|
|
||||||
@ -22,7 +21,6 @@
|
|||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
|
||||||
<include layout="@layout/drawer_bottom_part"
|
<include layout="@layout/drawer_bottom_part"/>
|
||||||
/>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -39,7 +39,8 @@
|
|||||||
android:layout_marginRight="25dp"
|
android:layout_marginRight="25dp"
|
||||||
android:layout_marginStart="25dp"
|
android:layout_marginStart="25dp"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:src="@drawable/ic_search_black_24dp"/>
|
android:src="@drawable/ic_search_black_24dp"
|
||||||
|
android:tint="@color/drawer_icons_color"/>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="120dp"
|
android:layout_height="120dp"
|
||||||
android:background="?attr/selectableItemBackground"
|
android:background="?attr/selectableItemBackground"
|
||||||
android:soundEffectsEnabled="false"
|
android:fitsSystemWindows="true"
|
||||||
android:fitsSystemWindows="true">
|
android:soundEffectsEnabled="false">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_header"
|
android:id="@+id/iv_header"
|
||||||
@ -19,10 +19,18 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_name"
|
android:id="@+id/tv_name"
|
||||||
style="@style/TextDrawer320"
|
style="@style/Base.TextAppearance.AppCompat.Title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignTop="@+id/drawer_indicator"
|
android:layout_alignTop="@+id/drawer_indicator"
|
||||||
|
android:layout_gravity="start"
|
||||||
|
android:layout_marginBottom="15dp"
|
||||||
|
android:layout_marginLeft="20dp"
|
||||||
|
android:layout_marginStart="20dp"
|
||||||
|
android:layout_toEndOf="@+id/nv_email"
|
||||||
android:layout_toRightOf="@+id/nv_email"
|
android:layout_toRightOf="@+id/nv_email"
|
||||||
android:layout_toEndOf="@+id/nv_email"/>
|
android:text="Jarrad Hope"
|
||||||
|
android:textColor="#ffffff"/>
|
||||||
|
|
||||||
<Spinner
|
<Spinner
|
||||||
android:id="@+id/nv_email"
|
android:id="@+id/nv_email"
|
||||||
@ -31,8 +39,8 @@
|
|||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/drawer_indicator"
|
android:id="@+id/drawer_indicator"
|
||||||
android:tint="@android:color/white"
|
style="@style/ViewDrawer320"
|
||||||
style="@style/ViewDrawer320"/>
|
android:tint="@android:color/white"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent"
|
|
||||||
tools:context="io.syng.fragment.AddProfileFragment">
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/profile_settings"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<android.support.design.widget.TextInputLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<EditText
|
|
||||||
android:id="@+id/profile_name"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:hint="Name"
|
|
||||||
android:textColor="@color/accent"/>
|
|
||||||
</android.support.design.widget.TextInputLayout>
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/wallet_mode"
|
|
||||||
android:text="@string/wallet_title"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@color/accent"/>
|
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="@color/accent">
|
|
||||||
|
|
||||||
<Switch
|
|
||||||
android:id="@+id/profile_password_protected"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:text="@string/profile_password_protected"
|
|
||||||
android:textColor="@color/accent"/>
|
|
||||||
</LinearLayout>
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<android.support.v7.widget.RecyclerView
|
|
||||||
android:id="@+id/profile_dapps_list"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
android:layout_below="@id/profile_settings"
|
|
||||||
android:scrollbars="vertical"/>
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
@ -1,85 +0,0 @@
|
|||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="?android:attr/listPreferredItemHeight"
|
|
||||||
android:padding="6dip" >
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:tag="reveal-right"
|
|
||||||
android:background="@color/white"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentStart="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginStart="20dp"
|
|
||||||
android:tint="@color/icons"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<!-- this view reveals when swipe left -->
|
|
||||||
<RelativeLayout
|
|
||||||
android:tag="reveal-left"
|
|
||||||
android:background="@color/red"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:layout_marginEnd="20dp"
|
|
||||||
android:tint="@color/icons"
|
|
||||||
android:src="@drawable/ic_delete_black_24dp"/>
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<!-- this is the item front view -->
|
|
||||||
<RelativeLayout
|
|
||||||
android:tag="front"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:background="@color/profile">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/icon"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="fill_parent"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:layout_marginEnd="6dip"
|
|
||||||
android:contentDescription="TODO"
|
|
||||||
android:src="@drawable/profile" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/secondLine"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="26dip"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:layout_toEndOf="@id/icon"
|
|
||||||
android:ellipsize="marquee"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:text="Description"
|
|
||||||
android:textColor="@color/accent"
|
|
||||||
android:textSize="12sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/firstLine"
|
|
||||||
android:layout_width="fill_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_above="@id/secondLine"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:layout_alignParentTop="true"
|
|
||||||
android:layout_alignWithParentIfMissing="true"
|
|
||||||
android:layout_toEndOf="@id/icon"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:text="Example profile"
|
|
||||||
android:textColor="@color/accent"
|
|
||||||
android:textSize="16sp" />
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
|
|
||||||
</RelativeLayout>
|
|
@ -1,9 +0,0 @@
|
|||||||
<TextView android:id="@android:id/text1"
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:gravity="center_vertical"
|
|
||||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
|
||||||
android:paddingEnd="32dp"
|
|
||||||
android:paddingStart="32dp"
|
|
||||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"/>
|
|
@ -3,15 +3,12 @@
|
|||||||
<color name="white">#ffffff</color>
|
<color name="white">#ffffff</color>
|
||||||
<color name="red">#fa0000</color>
|
<color name="red">#fa0000</color>
|
||||||
<color name="toolbar">#fafafa</color>
|
<color name="toolbar">#fafafa</color>
|
||||||
<color name="icons">#fafafa</color>
|
|
||||||
<color name="profile">#161c30</color>
|
|
||||||
|
|
||||||
<color name="primary">#e7333333</color>
|
<color name="primary">#e7333333</color>
|
||||||
<color name="primary_dark">#303030</color>
|
<color name="primary_dark">#303030</color>
|
||||||
<color name="accent">#536DFE</color>
|
<color name="accent">#536DFE</color>
|
||||||
|
|
||||||
<color name="black_overlay">#66000000</color>
|
|
||||||
|
|
||||||
<color name="toolbar_color">#efefef</color>
|
|
||||||
<color name="fab_dark_color">#cfcfcf</color>
|
<color name="fab_dark_color">#cfcfcf</color>
|
||||||
|
<color name="drawer_icons_color">#737373</color>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
@ -18,21 +18,6 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
<style name="TextDrawer320">
|
|
||||||
<item name="android:layout_gravity">start</item>
|
|
||||||
<item name="android:layout_width">wrap_content</item>
|
|
||||||
<item name="android:layout_height">wrap_content</item>
|
|
||||||
<item name="android:layout_marginLeft">20dp</item>
|
|
||||||
<item name="android:layout_marginStart">20dp</item>
|
|
||||||
<item name="android:layout_marginBottom">15dp</item>
|
|
||||||
<item name="android:text">Jarrad Hope</item>
|
|
||||||
<item name="android:textColor">#ffffff</item>
|
|
||||||
<item name="android:textSize">20sp</item>
|
|
||||||
<item name="android:shadowColor">#000000</item>
|
|
||||||
<item name="android:shadowDy">1.2</item>
|
|
||||||
<item name="android:shadowRadius">1.2</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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user