From d549257fce6d1274a5efd04c3d4b58ef2102993f Mon Sep 17 00:00:00 2001 From: Jeremy Date: Wed, 18 Oct 2017 19:25:00 +0200 Subject: [PATCH] Add FAB and color StatusBar, solve style bugs --- .idea/inspectionProfiles/Project_Default.xml | 5 + app/app.iml | 18 +-- app/build.gradle | 23 +-- .../java/com/keepassdroid/EntryActivity.java | 47 ++++-- .../com/keepassdroid/EntryEditActivityV4.java | 8 +- .../java/com/keepassdroid/GroupActivity.java | 6 +- .../com/keepassdroid/GroupBaseActivity.java | 1 - .../com/keepassdroid/GroupEditActivity.java | 3 + .../com/keepassdroid/LockingActivity.java | 3 + .../LockingPreferenceActivity.java | 3 + .../com/keepassdroid/PasswordActivity.java | 3 - .../fileselect/FileSelectActivity.java | 2 + .../java/com/keepassdroid/utils/Util.java | 14 +- .../keepassdroid/view/GroupAddEntryView.java | 139 +++++++++++++++++- .../com/keepassdroid/view/GroupRootView.java | 26 ++-- .../keepassdroid/view/GroupViewOnlyView.java | 31 +--- .../res/drawable-v21/button_background.xml | 30 ++++ .../drawable-v21/button_small_background.xml | 30 ++++ .../main/res/drawable-v21/fab_background.xml | 14 ++ .../main/res/drawable/button_background.xml | 49 +++--- .../res/drawable/button_small_background.xml | 23 +++ app/src/main/res/drawable/fab_background.xml | 9 ++ .../main/res/drawable/ic_add_white_24dp.xml | 9 ++ app/src/main/res/layout-v11/entry_section.xml | 2 +- .../res/layout-v11/entry_view_contents.xml | 18 +-- app/src/main/res/layout/about.xml | 2 +- app/src/main/res/layout/browser_install.xml | 2 +- app/src/main/res/layout/database_settings.xml | 2 +- app/src/main/res/layout/entry_edit.xml | 4 +- .../main/res/layout/entry_edit_section.xml | 4 +- app/src/main/res/layout/entry_list_entry.xml | 28 ++-- app/src/main/res/layout/entry_section.xml | 2 +- app/src/main/res/layout/entry_view.xml | 8 +- .../main/res/layout/entry_view_contents.xml | 18 +-- app/src/main/res/layout/entry_view_v4.xml | 82 +++++------ app/src/main/res/layout/file_row.xml | 9 +- app/src/main/res/layout/file_selection.xml | 30 ++-- .../res/layout/file_selection_filename.xml | 2 +- app/src/main/res/layout/generate_password.xml | 2 +- app/src/main/res/layout/group_add_entry.xml | 58 +++++--- app/src/main/res/layout/group_edit.xml | 2 +- app/src/main/res/layout/group_empty.xml | 1 - app/src/main/res/layout/group_header.xml | 26 ++-- app/src/main/res/layout/group_list_entry.xml | 38 ++--- app/src/main/res/layout/password.xml | 4 +- app/src/main/res/layout/set_password.xml | 2 +- app/src/main/res/values-v11/styles.xml | 16 -- app/src/main/res/values-v21/styles.xml | 16 +- app/src/main/res/values/colors.xml | 2 - app/src/main/res/values/dimens.xml | 4 +- app/src/main/res/values/styles.xml | 60 +++----- 51 files changed, 581 insertions(+), 359 deletions(-) create mode 100644 app/src/main/res/drawable-v21/button_background.xml create mode 100644 app/src/main/res/drawable-v21/button_small_background.xml create mode 100644 app/src/main/res/drawable-v21/fab_background.xml create mode 100644 app/src/main/res/drawable/button_small_background.xml create mode 100644 app/src/main/res/drawable/fab_background.xml create mode 100644 app/src/main/res/drawable/ic_add_white_24dp.xml diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index 3cff213df..d5309889a 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -1,6 +1,11 @@ \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index 1f01e1168..5426740f7 100644 --- a/app/app.iml +++ b/app/app.iml @@ -116,14 +116,6 @@ - - - - - - - - @@ -132,6 +124,14 @@ + + + + + + + + @@ -159,7 +159,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index 7e66b65bc..918e257f4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,29 +1,19 @@ apply plugin: 'com.android.application' android { - compileSdkVersion = 22 - buildToolsVersion = "25.0.0" + compileSdkVersion = 25 + buildToolsVersion = "25.0.3" defaultConfig { applicationId = "com.android.keepass" - minSdkVersion = 3 - targetSdkVersion = 12 + minSdkVersion 3 + targetSdkVersion 12 versionCode = 154 - versionName = "2.0.6.4" + versionName = "2.5.0.0" testApplicationId = "com.keepassdroid.tests" testInstrumentationRunner = "android.test.InstrumentationTestRunner" - - /* - buildConfigFields.with { - create() { - type = "int" - name = "VALUE" - value = "1" - } - } - */ } externalNativeBuild { @@ -44,13 +34,10 @@ android { applicationId = "com.android.keepass" } } - - } dependencies { androidTestCompile files('libs/junit4.jar') - compile 'com.madgag.spongycastle:core:1.54.0.0' compile 'com.madgag.spongycastle:prov:1.54.0.0' compile 'joda-time:joda-time:2.9.4' diff --git a/app/src/main/java/com/keepassdroid/EntryActivity.java b/app/src/main/java/com/keepassdroid/EntryActivity.java index c8ba6c318..5c021be90 100644 --- a/app/src/main/java/com/keepassdroid/EntryActivity.java +++ b/app/src/main/java/com/keepassdroid/EntryActivity.java @@ -20,12 +20,6 @@ */ package com.keepassdroid; -import java.text.DateFormat; -import java.util.Date; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - import android.app.Activity; import android.app.AlertDialog; import android.app.Notification; @@ -38,6 +32,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; @@ -45,6 +40,7 @@ import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.text.method.PasswordTransformationMethod; import android.text.util.Linkify; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -67,6 +63,14 @@ import com.keepassdroid.utils.EmptyUtils; import com.keepassdroid.utils.Types; import com.keepassdroid.utils.Util; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.text.DateFormat; +import java.util.Date; +import java.util.Timer; +import java.util.TimerTask; +import java.util.UUID; + public class EntryActivity extends LockCloseHideActivity { public static final String KEY_ENTRY = "entry"; public static final String KEY_REFRESH_POS = "refresh_pos"; @@ -227,15 +231,32 @@ public class EntryActivity extends LockCloseHideActivity { } private Notification getNotification(String intentText, int descResId) { - String desc = getString(descResId); - Notification notify = new Notification(R.drawable.notify, desc, System.currentTimeMillis()); - + String description = getString(descResId); + Intent intent = new Intent(intentText); PendingIntent pending = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); - - notify.setLatestEventInfo(this, getString(R.string.app_name), desc, pending); - - return notify; + + Notification notification; + + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { + notification = new Notification(R.drawable.notify, description, System.currentTimeMillis()); + try { + Method deprecatedMethod = notification.getClass().getMethod("setLatestEventInfo", Context.class, CharSequence.class, CharSequence.class, PendingIntent.class); + deprecatedMethod.invoke(notification, this, getString(R.string.app_name), description, pending); + } catch (NoSuchMethodException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException e) { + Log.w("EntryActivity", "Method not found", e); + } + } else { + // Use new API + Notification.Builder builder = new Notification.Builder(this) + .setContentIntent(pending) + .setSmallIcon(R.drawable.notify) + .setContentTitle(getString(R.string.app_name)); + notification = builder.getNotification(); + } + + return notification; } private String getDateTime(Date dt) { diff --git a/app/src/main/java/com/keepassdroid/EntryEditActivityV4.java b/app/src/main/java/com/keepassdroid/EntryEditActivityV4.java index 03256f959..69bd39050 100644 --- a/app/src/main/java/com/keepassdroid/EntryEditActivityV4.java +++ b/app/src/main/java/com/keepassdroid/EntryEditActivityV4.java @@ -79,7 +79,7 @@ public class EntryEditActivityV4 extends EntryEditActivity { scroll = (ScrollView) findViewById(R.id.entry_scroll); - ImageButton add = (ImageButton) findViewById(R.id.add_advanced); + View add = findViewById(R.id.add_advanced); add.setVisibility(View.VISIBLE); add.setOnClickListener(new View.OnClickListener() { @@ -102,14 +102,14 @@ public class EntryEditActivityV4 extends EntryEditActivity { } }); - ImageButton iconPicker = (ImageButton) findViewById(R.id.icon_button); + View iconPicker = findViewById(R.id.icon_button); iconPicker.setVisibility(View.GONE); - View divider = (View) findViewById(R.id.divider_title); + View divider = findViewById(R.id.divider_title); RelativeLayout.LayoutParams lp_div = (RelativeLayout.LayoutParams) divider.getLayoutParams(); lp_div.addRule(RelativeLayout.BELOW, R.id.entry_title); - View user_label = (View) findViewById(R.id.entry_user_name_label); + View user_label = findViewById(R.id.entry_user_name_label); RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) user_label.getLayoutParams(); lp.addRule(RelativeLayout.BELOW, R.id.divider_title); } diff --git a/app/src/main/java/com/keepassdroid/GroupActivity.java b/app/src/main/java/com/keepassdroid/GroupActivity.java index fdf320ca6..531890263 100644 --- a/app/src/main/java/com/keepassdroid/GroupActivity.java +++ b/app/src/main/java/com/keepassdroid/GroupActivity.java @@ -140,7 +140,7 @@ public abstract class GroupActivity extends GroupBaseActivity { setContentView(new GroupRootView(this)); } else if ( addEntryEnabled ) { setContentView(new GroupAddEntryView(this)); - Button addGroup = (Button) findViewById(R.id.add_group); + View addGroup = findViewById(R.id.add_group); addGroup.setVisibility(View.GONE); } else { setContentView(new GroupViewOnlyView(this)); @@ -149,7 +149,7 @@ public abstract class GroupActivity extends GroupBaseActivity { if ( addGroupEnabled ) { // Add Group button - Button addGroup = (Button) findViewById(R.id.add_group); + View addGroup = findViewById(R.id.add_group); addGroup.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { @@ -160,7 +160,7 @@ public abstract class GroupActivity extends GroupBaseActivity { if ( addEntryEnabled ) { // Add Entry button - Button addEntry = (Button) findViewById(R.id.add_entry); + View addEntry = findViewById(R.id.add_entry); addEntry.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { diff --git a/app/src/main/java/com/keepassdroid/GroupBaseActivity.java b/app/src/main/java/com/keepassdroid/GroupBaseActivity.java index bf5d66af5..041cb6c06 100644 --- a/app/src/main/java/com/keepassdroid/GroupBaseActivity.java +++ b/app/src/main/java/com/keepassdroid/GroupBaseActivity.java @@ -55,7 +55,6 @@ public abstract class GroupBaseActivity extends LockCloseListActivity { protected ListAdapter mAdapter; public static final String KEY_ENTRY = "entry"; - public static final String KEY_MODE = "mode"; private SharedPreferences prefs; diff --git a/app/src/main/java/com/keepassdroid/GroupEditActivity.java b/app/src/main/java/com/keepassdroid/GroupEditActivity.java index 38c99e37c..9d7936e7d 100644 --- a/app/src/main/java/com/keepassdroid/GroupEditActivity.java +++ b/app/src/main/java/com/keepassdroid/GroupEditActivity.java @@ -30,6 +30,7 @@ import android.widget.Toast; import com.android.keepass.R; import com.keepassdroid.icons.Icons; +import com.keepassdroid.utils.Util; public class GroupEditActivity extends Activity { @@ -48,6 +49,8 @@ public class GroupEditActivity extends Activity super.onCreate(savedInstanceState); setContentView(R.layout.group_edit); setTitle(R.string.add_group_title); + + Util.colorStatusBar(this); ImageButton iconButton = (ImageButton) findViewById(R.id.icon_button); iconButton.setOnClickListener(new View.OnClickListener() diff --git a/app/src/main/java/com/keepassdroid/LockingActivity.java b/app/src/main/java/com/keepassdroid/LockingActivity.java index b614777c2..9cc929e31 100644 --- a/app/src/main/java/com/keepassdroid/LockingActivity.java +++ b/app/src/main/java/com/keepassdroid/LockingActivity.java @@ -22,6 +22,7 @@ package com.keepassdroid; import android.app.Activity; import com.keepassdroid.timeout.TimeoutHelper; +import com.keepassdroid.utils.Util; public abstract class LockingActivity extends Activity { @@ -36,6 +37,8 @@ public abstract class LockingActivity extends Activity { protected void onResume() { super.onResume(); + Util.colorStatusBar(this); + TimeoutHelper.resume(this); } } diff --git a/app/src/main/java/com/keepassdroid/LockingPreferenceActivity.java b/app/src/main/java/com/keepassdroid/LockingPreferenceActivity.java index 1d52d5292..f4ca1abf2 100644 --- a/app/src/main/java/com/keepassdroid/LockingPreferenceActivity.java +++ b/app/src/main/java/com/keepassdroid/LockingPreferenceActivity.java @@ -22,6 +22,7 @@ package com.keepassdroid; import android.preference.PreferenceActivity; import com.keepassdroid.timeout.TimeoutHelper; +import com.keepassdroid.utils.Util; public abstract class LockingPreferenceActivity extends PreferenceActivity { @@ -36,6 +37,8 @@ public abstract class LockingPreferenceActivity extends PreferenceActivity { protected void onResume() { super.onResume(); + Util.colorStatusBar(this); + TimeoutHelper.resume(this); } } diff --git a/app/src/main/java/com/keepassdroid/PasswordActivity.java b/app/src/main/java/com/keepassdroid/PasswordActivity.java index 8efe2bd94..95424a08a 100644 --- a/app/src/main/java/com/keepassdroid/PasswordActivity.java +++ b/app/src/main/java/com/keepassdroid/PasswordActivity.java @@ -19,17 +19,14 @@ */ package com.keepassdroid; -import android.annotation.TargetApi; import android.app.Activity; import android.content.ActivityNotFoundException; -import android.content.ClipData; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.AsyncTask; -import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; diff --git a/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java b/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java index 8cc2f2bd8..94dc9ab4b 100644 --- a/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java +++ b/app/src/main/java/com/keepassdroid/fileselect/FileSelectActivity.java @@ -90,6 +90,8 @@ public class FileSelectActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + Util.colorStatusBar(this); fileHistory = App.getFileHistory(); diff --git a/app/src/main/java/com/keepassdroid/utils/Util.java b/app/src/main/java/com/keepassdroid/utils/Util.java index 53d4b8c3a..9801cdf4f 100644 --- a/app/src/main/java/com/keepassdroid/utils/Util.java +++ b/app/src/main/java/com/keepassdroid/utils/Util.java @@ -22,7 +22,9 @@ package com.keepassdroid.utils; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.lang.ref.WeakReference; +import com.android.keepass.R; import com.keepassdroid.database.exception.SamsungClipboardException; import android.app.Activity; @@ -30,7 +32,10 @@ import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.os.Build; import android.text.ClipboardManager; +import android.view.Window; +import android.view.WindowManager; import android.widget.TextView; public class Util { @@ -91,6 +96,13 @@ public class Util { } } - + public static void colorStatusBar(Activity activity) { + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window window = activity.getWindow(); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); + window.setStatusBarColor(activity.getResources().getColor(R.color.green_dark)); + } + } } diff --git a/app/src/main/java/com/keepassdroid/view/GroupAddEntryView.java b/app/src/main/java/com/keepassdroid/view/GroupAddEntryView.java index 15a83f127..d2b805756 100644 --- a/app/src/main/java/com/keepassdroid/view/GroupAddEntryView.java +++ b/app/src/main/java/com/keepassdroid/view/GroupAddEntryView.java @@ -22,12 +22,30 @@ package com.keepassdroid.view; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; +import android.view.View; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.AlphaAnimation; +import android.view.animation.Animation; +import android.view.animation.RotateAnimation; import android.widget.RelativeLayout; import com.android.keepass.R; public class GroupAddEntryView extends RelativeLayout { + protected View addButton; + + protected View addEntry; + protected boolean addEntryActivated; + protected View addGroup; + protected boolean addGroupActivated; + + + private boolean animInProgress; + private AddButtonAnimation viewButtonMenuAnimation; + private ViewMenuAnimation viewMenuAnimationAddEntry; + private ViewMenuAnimation viewMenuAnimationAddGroup; + public GroupAddEntryView(Context context) { this(context, null); } @@ -38,11 +56,128 @@ public class GroupAddEntryView extends RelativeLayout { inflate(context); } - private void inflate(Context context) { + protected void inflate(Context context) { LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.group_add_entry, this); - + + addEntryActivated = true; + addGroupActivated = true; + + addButton = findViewById(R.id.add_button); + addEntry = findViewById(R.id.add_entry); + addGroup = findViewById(R.id.add_group); + + viewButtonMenuAnimation = new AddButtonAnimation(addButton); + viewMenuAnimationAddEntry = new ViewMenuAnimation(addEntry); + viewMenuAnimationAddGroup = new ViewMenuAnimation(addGroup); + + addButton.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + if(!animInProgress) { + viewButtonMenuAnimation.startAnimation(); + if (addEntryActivated) { + viewMenuAnimationAddEntry.startAnimation(); + } + if (addGroupActivated) { + viewMenuAnimationAddGroup.startAnimation(); + } + } + } + }); } + private class AddButtonAnimation implements Animation.AnimationListener { + private View view; + + private boolean isRotate; + + private Animation rightAnim; + private Animation leftAnim; + + AddButtonAnimation(View view) { + this.view = view; + + this.isRotate = false; + + rightAnim = new RotateAnimation(0f, 135f, + Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); + rightAnim.setDuration(300); + rightAnim.setInterpolator(new AccelerateDecelerateInterpolator()); + rightAnim.setFillAfter(true); + leftAnim = new RotateAnimation(135f, 0f, + Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); + leftAnim.setDuration(300); + leftAnim.setInterpolator(new AccelerateDecelerateInterpolator()); + leftAnim.setFillAfter(true); + + } + + @Override + public void onAnimationStart(Animation animation) { + animInProgress = true; + } + + @Override + public void onAnimationEnd(Animation animation) { + animInProgress = false; + isRotate = !isRotate; + } + + @Override + public void onAnimationRepeat(Animation animation) {} + + void startAnimation() { + Animation animation; + if(!isRotate) + animation = rightAnim; + else + animation = leftAnim; + animation.setAnimationListener(this); + view.startAnimation(animation); + } + } + + private class ViewMenuAnimation implements Animation.AnimationListener { + + private View view; + + private Animation animViewShow; + private Animation animViewHide; + + ViewMenuAnimation(View view) { + this.view = view; + + animViewShow = new AlphaAnimation(0.0f, 1.0f); + animViewShow.setDuration(300); + + animViewHide = new AlphaAnimation(1.0f, 0.0f); + animViewHide.setDuration(300); + } + + @Override + public void onAnimationStart(Animation animation) {} + + @Override + public void onAnimationEnd(Animation animation) { + if(view.getVisibility() == VISIBLE) + view.setVisibility(GONE); + else + view.setVisibility(VISIBLE); + } + + @Override + public void onAnimationRepeat(Animation animation) {} + + void startAnimation() { + Animation animation; + if(view.getVisibility() == VISIBLE) + animation = animViewHide; + else + animation = animViewShow; + animation.setAnimationListener(this); + view.startAnimation(animation); + } + } } diff --git a/app/src/main/java/com/keepassdroid/view/GroupRootView.java b/app/src/main/java/com/keepassdroid/view/GroupRootView.java index 2253bfcb1..d7fc170a3 100644 --- a/app/src/main/java/com/keepassdroid/view/GroupRootView.java +++ b/app/src/main/java/com/keepassdroid/view/GroupRootView.java @@ -21,32 +21,26 @@ package com.keepassdroid.view; import android.content.Context; import android.util.AttributeSet; -import android.view.LayoutInflater; -import android.widget.Button; -import android.widget.RelativeLayout; +import android.view.View; import com.android.keepass.R; -public class GroupRootView extends RelativeLayout { +public class GroupRootView extends GroupAddEntryView { public GroupRootView(Context context) { this(context, null); } - + public GroupRootView(Context context, AttributeSet attrs) { super(context, attrs); - + inflate(context); } - - private void inflate(Context context) { - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - inflater.inflate(R.layout.group_add_entry, this); - - Button addEntry = (Button) findViewById(R.id.add_entry); - addEntry.setVisibility(INVISIBLE); - + + @Override + protected void inflate(Context context) { + super.inflate(context); + + addEntryActivated = false; } - - } diff --git a/app/src/main/java/com/keepassdroid/view/GroupViewOnlyView.java b/app/src/main/java/com/keepassdroid/view/GroupViewOnlyView.java index 1c8b33d61..67167d763 100644 --- a/app/src/main/java/com/keepassdroid/view/GroupViewOnlyView.java +++ b/app/src/main/java/com/keepassdroid/view/GroupViewOnlyView.java @@ -21,13 +21,8 @@ package com.keepassdroid.view; import android.content.Context; import android.util.AttributeSet; -import android.view.LayoutInflater; -import android.view.View; -import android.widget.RelativeLayout; -import com.android.keepass.R; - -public class GroupViewOnlyView extends RelativeLayout { +public class GroupViewOnlyView extends GroupAddEntryView { public GroupViewOnlyView(Context context) { this(context, null); @@ -38,27 +33,13 @@ public class GroupViewOnlyView extends RelativeLayout { inflate(context); } - - private void inflate(Context context) { - LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - inflater.inflate(R.layout.group_add_entry, this); + + @Override + protected void inflate(Context context) { + super.inflate(context); // Hide the buttons - View addGroup = findViewById(R.id.add_group); - addGroup.setVisibility(INVISIBLE); - - View addEntry = findViewById(R.id.add_entry); - addEntry.setVisibility(INVISIBLE); - - View divider2 = findViewById(R.id.divider2); - divider2.setVisibility(INVISIBLE); - - View list = findViewById(R.id.group_list); - LayoutParams lp = (RelativeLayout.LayoutParams) list.getLayoutParams(); - lp.addRule(ALIGN_PARENT_BOTTOM, TRUE); - - + addButton.setVisibility(GONE); } - } diff --git a/app/src/main/res/drawable-v21/button_background.xml b/app/src/main/res/drawable-v21/button_background.xml new file mode 100644 index 000000000..09bb31e1c --- /dev/null +++ b/app/src/main/res/drawable-v21/button_background.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/button_small_background.xml b/app/src/main/res/drawable-v21/button_small_background.xml new file mode 100644 index 000000000..f2d331711 --- /dev/null +++ b/app/src/main/res/drawable-v21/button_small_background.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable-v21/fab_background.xml b/app/src/main/res/drawable-v21/fab_background.xml new file mode 100644 index 000000000..6046e3ac3 --- /dev/null +++ b/app/src/main/res/drawable-v21/fab_background.xml @@ -0,0 +1,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/button_background.xml b/app/src/main/res/drawable/button_background.xml index 09bb31e1c..a0a1f6eee 100644 --- a/app/src/main/res/drawable/button_background.xml +++ b/app/src/main/res/drawable/button_background.xml @@ -1,30 +1,23 @@ - - - - - - - - - - - - - - - - - - + + + + + + - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/button_small_background.xml b/app/src/main/res/drawable/button_small_background.xml new file mode 100644 index 000000000..022f1e2cc --- /dev/null +++ b/app/src/main/res/drawable/button_small_background.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/fab_background.xml b/app/src/main/res/drawable/fab_background.xml new file mode 100644 index 000000000..7abc4b0bc --- /dev/null +++ b/app/src/main/res/drawable/fab_background.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_add_white_24dp.xml b/app/src/main/res/drawable/ic_add_white_24dp.xml new file mode 100644 index 000000000..b9b8eca8b --- /dev/null +++ b/app/src/main/res/drawable/ic_add_white_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout-v11/entry_section.xml b/app/src/main/res/layout-v11/entry_section.xml index dd73b2603..6e8caf1b1 100644 --- a/app/src/main/res/layout-v11/entry_section.xml +++ b/app/src/main/res/layout-v11/entry_section.xml @@ -24,7 +24,7 @@ . --> diff --git a/app/src/main/res/layout/browser_install.xml b/app/src/main/res/layout/browser_install.xml index b3c8d6b4d..225e2b7b0 100644 --- a/app/src/main/res/layout/browser_install.xml +++ b/app/src/main/res/layout/browser_install.xml @@ -18,7 +18,7 @@ along with KeePassDroid. If not, see . --> diff --git a/app/src/main/res/layout/database_settings.xml b/app/src/main/res/layout/database_settings.xml index a998f23c5..a8d471690 100644 --- a/app/src/main/res/layout/database_settings.xml +++ b/app/src/main/res/layout/database_settings.xml @@ -18,7 +18,7 @@ along with KeePassDroid. If not, see . --> . -->