Add FAB and color StatusBar, solve style bugs

This commit is contained in:
Jeremy
2017-10-18 19:25:00 +02:00
parent 714245a5ba
commit d549257fce
51 changed files with 581 additions and 359 deletions

View File

@@ -1,6 +1,11 @@
<component name="InspectionProjectProfileManager"> <component name="InspectionProjectProfileManager">
<profile version="1.0"> <profile version="1.0">
<option name="myName" value="Project Default" /> <option name="myName" value="Project Default" />
<inspection_tool class="AndroidLintAppCompatResource" enabled="false" level="ERROR" enabled_by_default="false" />
<inspection_tool class="AndroidLintMissingTranslation" enabled="true" level="INFO" enabled_by_default="true" /> <inspection_tool class="AndroidLintMissingTranslation" enabled="true" level="INFO" enabled_by_default="true" />
<inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false">
<option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" />
<option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" />
</inspection_tool>
</profile> </profile>
</component> </component>

View File

@@ -116,14 +116,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -132,6 +124,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
@@ -159,7 +159,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/outputs" /> <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/build/tmp" /> <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
</content> </content>
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" /> <orderEntry type="jdk" jdkName="Android API 25 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" scope="TEST" name="junit4" level="project" /> <orderEntry type="library" exported="" scope="TEST" name="junit4" level="project" />
<orderEntry type="library" exported="" name="prov-1.54.0.0" level="project" /> <orderEntry type="library" exported="" name="prov-1.54.0.0" level="project" />

View File

@@ -1,29 +1,19 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'
android { android {
compileSdkVersion = 22 compileSdkVersion = 25
buildToolsVersion = "25.0.0" buildToolsVersion = "25.0.3"
defaultConfig { defaultConfig {
applicationId = "com.android.keepass" applicationId = "com.android.keepass"
minSdkVersion = 3 minSdkVersion 3
targetSdkVersion = 12 targetSdkVersion 12
versionCode = 154 versionCode = 154
versionName = "2.0.6.4" versionName = "2.5.0.0"
testApplicationId = "com.keepassdroid.tests" testApplicationId = "com.keepassdroid.tests"
testInstrumentationRunner = "android.test.InstrumentationTestRunner" testInstrumentationRunner = "android.test.InstrumentationTestRunner"
/*
buildConfigFields.with {
create() {
type = "int"
name = "VALUE"
value = "1"
}
}
*/
} }
externalNativeBuild { externalNativeBuild {
@@ -44,13 +34,10 @@ android {
applicationId = "com.android.keepass" applicationId = "com.android.keepass"
} }
} }
} }
dependencies { dependencies {
androidTestCompile files('libs/junit4.jar') androidTestCompile files('libs/junit4.jar')
compile 'com.madgag.spongycastle:core:1.54.0.0' compile 'com.madgag.spongycastle:core:1.54.0.0'
compile 'com.madgag.spongycastle:prov:1.54.0.0' compile 'com.madgag.spongycastle:prov:1.54.0.0'
compile 'joda-time:joda-time:2.9.4' compile 'joda-time:joda-time:2.9.4'

View File

@@ -20,12 +20,6 @@
*/ */
package com.keepassdroid; 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.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Notification; import android.app.Notification;
@@ -38,6 +32,7 @@ import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
@@ -45,6 +40,7 @@ import android.text.SpannableString;
import android.text.method.LinkMovementMethod; import android.text.method.LinkMovementMethod;
import android.text.method.PasswordTransformationMethod; import android.text.method.PasswordTransformationMethod;
import android.text.util.Linkify; import android.text.util.Linkify;
import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
@@ -67,6 +63,14 @@ import com.keepassdroid.utils.EmptyUtils;
import com.keepassdroid.utils.Types; import com.keepassdroid.utils.Types;
import com.keepassdroid.utils.Util; 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 class EntryActivity extends LockCloseHideActivity {
public static final String KEY_ENTRY = "entry"; public static final String KEY_ENTRY = "entry";
public static final String KEY_REFRESH_POS = "refresh_pos"; 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) { private Notification getNotification(String intentText, int descResId) {
String desc = getString(descResId); String description = getString(descResId);
Notification notify = new Notification(R.drawable.notify, desc, System.currentTimeMillis());
Intent intent = new Intent(intentText); Intent intent = new Intent(intentText);
PendingIntent pending = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); PendingIntent pending = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
notify.setLatestEventInfo(this, getString(R.string.app_name), desc, pending); Notification notification;
return notify; 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) { private String getDateTime(Date dt) {

View File

@@ -79,7 +79,7 @@ public class EntryEditActivityV4 extends EntryEditActivity {
scroll = (ScrollView) findViewById(R.id.entry_scroll); 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.setVisibility(View.VISIBLE);
add.setOnClickListener(new View.OnClickListener() { 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); 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(); RelativeLayout.LayoutParams lp_div = (RelativeLayout.LayoutParams) divider.getLayoutParams();
lp_div.addRule(RelativeLayout.BELOW, R.id.entry_title); 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(); RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) user_label.getLayoutParams();
lp.addRule(RelativeLayout.BELOW, R.id.divider_title); lp.addRule(RelativeLayout.BELOW, R.id.divider_title);
} }

View File

@@ -140,7 +140,7 @@ public abstract class GroupActivity extends GroupBaseActivity {
setContentView(new GroupRootView(this)); setContentView(new GroupRootView(this));
} else if ( addEntryEnabled ) { } else if ( addEntryEnabled ) {
setContentView(new GroupAddEntryView(this)); setContentView(new GroupAddEntryView(this));
Button addGroup = (Button) findViewById(R.id.add_group); View addGroup = findViewById(R.id.add_group);
addGroup.setVisibility(View.GONE); addGroup.setVisibility(View.GONE);
} else { } else {
setContentView(new GroupViewOnlyView(this)); setContentView(new GroupViewOnlyView(this));
@@ -149,7 +149,7 @@ public abstract class GroupActivity extends GroupBaseActivity {
if ( addGroupEnabled ) { if ( addGroupEnabled ) {
// Add Group button // Add Group button
Button addGroup = (Button) findViewById(R.id.add_group); View addGroup = findViewById(R.id.add_group);
addGroup.setOnClickListener(new View.OnClickListener() { addGroup.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { public void onClick(View v) {
@@ -160,7 +160,7 @@ public abstract class GroupActivity extends GroupBaseActivity {
if ( addEntryEnabled ) { if ( addEntryEnabled ) {
// Add Entry button // Add Entry button
Button addEntry = (Button) findViewById(R.id.add_entry); View addEntry = findViewById(R.id.add_entry);
addEntry.setOnClickListener(new View.OnClickListener() { addEntry.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { public void onClick(View v) {

View File

@@ -55,7 +55,6 @@ public abstract class GroupBaseActivity extends LockCloseListActivity {
protected ListAdapter mAdapter; protected ListAdapter mAdapter;
public static final String KEY_ENTRY = "entry"; public static final String KEY_ENTRY = "entry";
public static final String KEY_MODE = "mode";
private SharedPreferences prefs; private SharedPreferences prefs;

View File

@@ -30,6 +30,7 @@ import android.widget.Toast;
import com.android.keepass.R; import com.android.keepass.R;
import com.keepassdroid.icons.Icons; import com.keepassdroid.icons.Icons;
import com.keepassdroid.utils.Util;
public class GroupEditActivity extends Activity public class GroupEditActivity extends Activity
{ {
@@ -49,6 +50,8 @@ public class GroupEditActivity extends Activity
setContentView(R.layout.group_edit); setContentView(R.layout.group_edit);
setTitle(R.string.add_group_title); setTitle(R.string.add_group_title);
Util.colorStatusBar(this);
ImageButton iconButton = (ImageButton) findViewById(R.id.icon_button); ImageButton iconButton = (ImageButton) findViewById(R.id.icon_button);
iconButton.setOnClickListener(new View.OnClickListener() iconButton.setOnClickListener(new View.OnClickListener()
{ {

View File

@@ -22,6 +22,7 @@ package com.keepassdroid;
import android.app.Activity; import android.app.Activity;
import com.keepassdroid.timeout.TimeoutHelper; import com.keepassdroid.timeout.TimeoutHelper;
import com.keepassdroid.utils.Util;
public abstract class LockingActivity extends Activity { public abstract class LockingActivity extends Activity {
@@ -36,6 +37,8 @@ public abstract class LockingActivity extends Activity {
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
Util.colorStatusBar(this);
TimeoutHelper.resume(this); TimeoutHelper.resume(this);
} }
} }

View File

@@ -22,6 +22,7 @@ package com.keepassdroid;
import android.preference.PreferenceActivity; import android.preference.PreferenceActivity;
import com.keepassdroid.timeout.TimeoutHelper; import com.keepassdroid.timeout.TimeoutHelper;
import com.keepassdroid.utils.Util;
public abstract class LockingPreferenceActivity extends PreferenceActivity { public abstract class LockingPreferenceActivity extends PreferenceActivity {
@@ -36,6 +37,8 @@ public abstract class LockingPreferenceActivity extends PreferenceActivity {
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
Util.colorStatusBar(this);
TimeoutHelper.resume(this); TimeoutHelper.resume(this);
} }
} }

View File

@@ -19,17 +19,14 @@
*/ */
package com.keepassdroid; package com.keepassdroid;
import android.annotation.TargetApi;
import android.app.Activity; import android.app.Activity;
import android.content.ActivityNotFoundException; import android.content.ActivityNotFoundException;
import android.content.ClipData;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface.OnClickListener;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.net.Uri; import android.net.Uri;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;

View File

@@ -91,6 +91,8 @@ public class FileSelectActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
Util.colorStatusBar(this);
fileHistory = App.getFileHistory(); fileHistory = App.getFileHistory();
if (fileHistory.hasRecentFiles()) { if (fileHistory.hasRecentFiles()) {

View File

@@ -22,7 +22,9 @@ package com.keepassdroid.utils;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.lang.ref.WeakReference;
import com.android.keepass.R;
import com.keepassdroid.database.exception.SamsungClipboardException; import com.keepassdroid.database.exception.SamsungClipboardException;
import android.app.Activity; import android.app.Activity;
@@ -30,7 +32,10 @@ import android.content.ActivityNotFoundException;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.text.ClipboardManager; import android.text.ClipboardManager;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView; import android.widget.TextView;
public class Util { 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));
}
}
} }

View File

@@ -22,12 +22,30 @@ package com.keepassdroid.view;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.LayoutInflater; 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 android.widget.RelativeLayout;
import com.android.keepass.R; import com.android.keepass.R;
public class GroupAddEntryView extends RelativeLayout { 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) { public GroupAddEntryView(Context context) {
this(context, null); this(context, null);
} }
@@ -38,11 +56,128 @@ public class GroupAddEntryView extends RelativeLayout {
inflate(context); inflate(context);
} }
private void inflate(Context context) { protected void inflate(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.group_add_entry, this); 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);
}
}
} }

View File

@@ -21,13 +21,11 @@ package com.keepassdroid.view;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.LayoutInflater; import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import com.android.keepass.R; import com.android.keepass.R;
public class GroupRootView extends RelativeLayout { public class GroupRootView extends GroupAddEntryView {
public GroupRootView(Context context) { public GroupRootView(Context context) {
this(context, null); this(context, null);
@@ -39,14 +37,10 @@ public class GroupRootView extends RelativeLayout {
inflate(context); inflate(context);
} }
private void inflate(Context context) { @Override
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); protected void inflate(Context context) {
inflater.inflate(R.layout.group_add_entry, this); super.inflate(context);
Button addEntry = (Button) findViewById(R.id.add_entry);
addEntry.setVisibility(INVISIBLE);
addEntryActivated = false;
} }
} }

View File

@@ -21,13 +21,8 @@ package com.keepassdroid.view;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; 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 GroupAddEntryView {
public class GroupViewOnlyView extends RelativeLayout {
public GroupViewOnlyView(Context context) { public GroupViewOnlyView(Context context) {
this(context, null); this(context, null);
@@ -39,26 +34,12 @@ public class GroupViewOnlyView extends RelativeLayout {
inflate(context); inflate(context);
} }
private void inflate(Context context) { @Override
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); protected void inflate(Context context) {
inflater.inflate(R.layout.group_add_entry, this); super.inflate(context);
// Hide the buttons // Hide the buttons
View addGroup = findViewById(R.id.add_group); addButton.setVisibility(GONE);
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);
} }
} }

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="@color/white"
tools:targetApi="lollipop">
<item>
<layer-list>
<item android:right="1dp" android:top="5dp">
<shape>
<corners android:radius="3dp" />
<solid android:color="#14000000" />
</shape>
</item>
<item android:bottom="2dp" android:left="2dp">
<shape>
<gradient android:angle="270"
android:endColor="#E2E2E2" android:startColor="#BABABA" />
<corners
android:radius="2dp" />
<padding
android:left="14dp"
android:right="14dp"
android:top="8dp"
android:bottom="12dp"/>
<solid android:color="@color/green"/>
</shape>
</item>
</layer-list>
</item>
</ripple>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="@color/white"
tools:targetApi="lollipop">
<item>
<layer-list>
<item android:right="1dp" android:top="5dp">
<shape>
<corners android:radius="3dp" />
<solid android:color="#14000000" />
</shape>
</item>
<item android:bottom="2dp" android:left="2dp">
<shape>
<gradient android:angle="270"
android:endColor="#E2E2E2" android:startColor="#BABABA" />
<corners
android:radius="8dp" />
<padding
android:left="14dp"
android:right="14dp"
android:top="4dp"
android:bottom="8dp"/>
<solid android:color="@color/green"/>
</shape>
</item>
</layer-list>
</item>
</ripple>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/white">
<item>
<shape android:shape="oval">
<padding
android:left="14dp"
android:right="14dp"
android:top="14dp"
android:bottom="14dp"/>
<solid android:color="@color/green"/>
</shape>
</item>
</ripple>

View File

@@ -1,10 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android" <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
xmlns:tools="http://schemas.android.com/tools"
android:color="@color/white"
tools:targetApi="lollipop">
<item>
<layer-list>
<item android:right="1dp" android:top="5dp"> <item android:right="1dp" android:top="5dp">
<shape> <shape>
<corners android:radius="3dp" /> <corners android:radius="3dp" />
@@ -25,6 +20,4 @@
<solid android:color="@color/green"/> <solid android:color="@color/green"/>
</shape> </shape>
</item> </item>
</layer-list> </layer-list>
</item>
</ripple>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:right="1dp" android:top="5dp">
<shape>
<corners android:radius="3dp" />
<solid android:color="#14000000" />
</shape>
</item>
<item android:bottom="2dp" android:left="2dp">
<shape>
<gradient android:angle="270"
android:endColor="#E2E2E2" android:startColor="#BABABA" />
<corners
android:radius="8dp" />
<padding
android:left="14dp"
android:right="14dp"
android:top="4dp"
android:bottom="8dp"/>
<solid android:color="@color/green"/>
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape android:shape="oval" xmlns:android="http://schemas.android.com/apk/res/android">
<padding
android:left="14dp"
android:right="14dp"
android:top="14dp"
android:bottom="14dp"/>
<solid android:color="@color/green"/>
</shape>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
</vector>

View File

@@ -24,7 +24,7 @@
<TextView android:id="@+id/title" <TextView android:id="@+id/title"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView <TextView
android:id="@+id/value" android:id="@+id/value"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:id="@+id/entry_table" android:id="@+id/entry_table"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -28,7 +28,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_user_name" android:text="@string/entry_user_name"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_user_name" <TextView android:id="@+id/entry_user_name"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -42,7 +42,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_url" android:text="@string/entry_url"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_url" <TextView android:id="@+id/entry_url"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -57,7 +57,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_password" android:text="@string/entry_password"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<com.keepassdroid.view.PasswordTextViewSelect android:id="@+id/entry_password" <com.keepassdroid.view.PasswordTextViewSelect android:id="@+id/entry_password"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -73,7 +73,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_comment" android:text="@string/entry_comment"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_comment" <TextView android:id="@+id/entry_comment"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -92,7 +92,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_created" android:text="@string/entry_created"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_created" <TextView android:id="@+id/entry_created"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -105,7 +105,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_modified" android:text="@string/entry_modified"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_modified" <TextView android:id="@+id/entry_modified"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -118,7 +118,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_accessed" android:text="@string/entry_accessed"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_accessed" <TextView android:id="@+id/entry_accessed"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -131,7 +131,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_expires" android:text="@string/entry_expires"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_expires" <TextView android:id="@+id/entry_expires"
android:layout_width="fill_parent" android:layout_width="fill_parent"

View File

@@ -19,7 +19,7 @@
--> -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<EditText android:id="@+id/rounds" <EditText android:id="@+id/rounds"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<Button android:id="@+id/entry_save" <Button android:id="@+id/entry_save"
@@ -171,7 +171,7 @@
android:layout_below="@id/divider_comment" android:layout_below="@id/divider_comment"
android:orientation="vertical"> android:orientation="vertical">
</LinearLayout> </LinearLayout>
<ImageButton android:id="@+id/add_advanced" <ImageView android:id="@+id/add_advanced"
android:layout_width="30sp" android:layout_width="30sp"
android:layout_height="30sp" android:layout_height="30sp"
android:layout_below="@id/advanced_container" android:layout_below="@id/advanced_container"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<com.keepassdroid.view.EntryEditSection xmlns:android="http://schemas.android.com/apk/res/android" <com.keepassdroid.view.EntryEditSection xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<EditText android:id="@+id/title" <EditText android:id="@+id/title"
@@ -27,7 +27,7 @@
android:singleLine="true" android:singleLine="true"
android:inputType="text" android:inputType="text"
android:hint="@string/field_name" android:hint="@string/field_name"
style="@style/Small" style="@style/TinyTextStyle"
/> />
<CheckBox android:id="@+id/protection" <CheckBox android:id="@+id/protection"
android:layout_width="wrap_content" android:layout_width="wrap_content"

View File

@@ -34,7 +34,7 @@
android:id="@+id/entry_text" android:id="@+id/entry_text"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
style="@style/ElementTextLarge"/> style="@style/DefaultTextStyle"/>
<View/> <View/>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

View File

@@ -24,7 +24,7 @@
<TextView android:id="@+id/title" <TextView android:id="@+id/title"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<com.keepassdroid.view.TextViewSelect <com.keepassdroid.view.TextViewSelect
android:id="@+id/value" android:id="@+id/value"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<!-- Title --> <!-- Title -->
@@ -27,21 +27,21 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="2dp" android:padding="2dp"
style="@style/WhiteOnBlack"> style="@style/DefaultTextStyle">
<TextView android:id="@+id/entry_title" <TextView android:id="@+id/entry_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical" android:layout_gravity="left|center_vertical"
android:layout_weight="1" android:layout_weight="1"
android:minHeight="32dp" android:minHeight="32dp"
style="@style/ElementTextTitle"/> style="@style/DefaultTextStyle"/>
<ImageView android:id="@+id/entry_icon" <ImageView android:id="@+id/entry_icon"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@drawable/ic99_blank" android:src="@drawable/ic99_blank"
style="@style/WhiteOnBlack"/> style="@style/DefaultTextStyle"/>
</LinearLayout> </LinearLayout>
<Button android:id="@+id/entry_edit" <Button android:id="@+id/entry_edit"
android:text="@string/menu_edit" android:text="@string/menu_edit"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:id="@+id/entry_table" android:id="@+id/entry_table"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -28,7 +28,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_user_name" android:text="@string/entry_user_name"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<com.keepassdroid.view.TextViewSelect android:id="@+id/entry_user_name" <com.keepassdroid.view.TextViewSelect android:id="@+id/entry_user_name"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -41,7 +41,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_url" android:text="@string/entry_url"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<com.keepassdroid.view.TextViewSelect android:id="@+id/entry_url" <com.keepassdroid.view.TextViewSelect android:id="@+id/entry_url"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -55,7 +55,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_password" android:text="@string/entry_password"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<com.keepassdroid.view.PasswordTextViewSelect android:id="@+id/entry_password" <com.keepassdroid.view.PasswordTextViewSelect android:id="@+id/entry_password"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -71,7 +71,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_comment" android:text="@string/entry_comment"
android:autoLink="all" android:autoLink="all"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<com.keepassdroid.view.TextViewSelect android:id="@+id/entry_comment" <com.keepassdroid.view.TextViewSelect android:id="@+id/entry_comment"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -89,7 +89,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_created" android:text="@string/entry_created"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_created" <TextView android:id="@+id/entry_created"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -102,7 +102,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_modified" android:text="@string/entry_modified"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_modified" <TextView android:id="@+id/entry_modified"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -115,7 +115,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_accessed" android:text="@string/entry_accessed"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_accessed" <TextView android:id="@+id/entry_accessed"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -128,7 +128,7 @@
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/entry_expires" android:text="@string/entry_expires"
style="@style/WhiteOnDarkSmall" style="@style/LabelTextStyle"
/> />
<TextView android:id="@+id/entry_expires" <TextView android:id="@+id/entry_expires"
android:layout_width="fill_parent" android:layout_width="fill_parent"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:id="@+id/parent" android:id="@+id/parent"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
@@ -29,21 +29,21 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:padding="2dp" android:padding="2dp"
style="@style/WhiteOnBlack"> style="@style/DefaultTextStyle">
<TextView android:id="@+id/entry_title" <TextView android:id="@+id/entry_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical" android:layout_gravity="left|center_vertical"
android:layout_weight="1" android:layout_weight="1"
android:minHeight="32dp" android:minHeight="32dp"
style="@style/ElementTextTitle"/> style="@style/DefaultTextStyle"/>
<ImageView android:id="@+id/entry_icon" <ImageView android:id="@+id/entry_icon"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@drawable/ic99_blank" android:src="@drawable/ic99_blank"
style="@style/WhiteOnBlack"/> style="@style/DefaultTextStyle"/>
</LinearLayout> </LinearLayout>
<Button android:id="@+id/entry_edit" <Button android:id="@+id/entry_edit"
android:text="@string/menu_edit" android:text="@string/menu_edit"

View File

@@ -18,7 +18,10 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<TextView android:id="@+id/file_filename" xmlns:android="http://schemas.android.com/apk/res/android" <TextView android:id="@+id/file_filename" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="4sp" android:paddingTop="4dp"
style="@style/GroupText"/> android:paddingLeft="18dp"
android:paddingRight="18dp"
android:paddingBottom="4dp"
style="@style/DefaultTextStyle"/>

View File

@@ -17,21 +17,23 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="fill_parent"> android:layout_height="match_parent"
android:orientation="vertical">
<com.keepassdroid.view.FileNameView android:id="@+id/file_select"
android:layout_marginBottom="@dimen/default_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/file_listtop" <TextView android:id="@+id/file_listtop"
android:layout_width="fill_parent" android:layout_marginTop="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="?android:attr/listSeparatorTextViewStyle" style="?android:attr/listSeparatorTextViewStyle"
android:text="@string/open_recent" /> android:text="@string/open_recent" />
<com.keepassdroid.view.FileNameView android:id="@+id/file_select"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
<ListView android:id="@+id/file_list" <ListView android:id="@+id/file_list"
android:layout_width="fill_parent" android:layout_width="match_parent"
android:layout_height="fill_parent" android:layout_height="match_parent" />
android:layout_below="@id/file_listtop" </LinearLayout>
android:layout_above="@id/file_select" />
</RelativeLayout>

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView android:id="@+id/label_warning" <TextView android:id="@+id/label_warning"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<Button android:id="@+id/accept_button" <Button android:id="@+id/accept_button"

View File

@@ -18,35 +18,47 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<com.keepassdroid.view.GroupHeaderView <com.keepassdroid.view.GroupHeaderView
android:id="@+id/group_header" android:id="@+id/group_header"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"/> android:layout_height="wrap_content"/>
<Button android:id="@+id/add_group"
android:layout_margin="@dimen/button_margin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="@string/add_group"/>
<Button android:id="@+id/add_entry"
android:layout_margin="@dimen/button_margin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/add_group"
android:layout_alignParentBottom="true"
android:text="@string/add_entry"/>
<ImageView android:id="@+id/divider2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@id/add_entry"
android:scaleType="fitXY"
android:tint="@color/blue_highlight"
android:src="@android:drawable/divider_horizontal_dark"/>
<ListView android:id="@+id/group_list" <ListView android:id="@+id/group_list"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_above="@id/divider2"
android:layout_below="@id/group_header"/> android:layout_below="@id/group_header"/>
<ImageButton
android:id="@+id/add_button"
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/ic_add_white_24dp"
android:layout_margin="24dp"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:background="@drawable/fab_background"
android:elevation="4dp"
tools:ignore="UnusedAttribute" />
<TextView android:id="@+id/add_entry"
android:layout_marginEnd="12dp"
android:layout_above="@+id/add_button"
android:layout_alignEnd="@+id/add_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_entry"
android:visibility="invisible"
android:background="@drawable/button_small_background"
tools:ignore="UnusedAttribute" />
<TextView android:id="@+id/add_group"
android:layout_marginBottom="24dp"
android:layout_marginRight="12dp"
android:layout_above="@+id/add_entry"
android:layout_alignEnd="@+id/add_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_group"
android:visibility="invisible"
android:background="@drawable/button_small_background"
tools:ignore="UnusedAttribute" />
</RelativeLayout> </RelativeLayout>

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<ImageButton android:id="@+id/icon_button" <ImageButton android:id="@+id/icon_button"

View File

@@ -18,7 +18,6 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<com.keepassdroid.view.GroupHeaderView <com.keepassdroid.view.GroupHeaderView

View File

@@ -18,6 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/list_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
@@ -26,29 +27,26 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/read_only" android:text="@string/read_only"
android:visibility="gone" android:visibility="gone"
style="@style/DarkOnBlackSmall" style="@style/WarningTextStyle" />
/>
<LinearLayout <LinearLayout
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical" android:gravity="center_vertical"
android:padding="2sp" android:padding="2sp"
style="@style/WhiteOnBlack"> style="@style/DefaultTextStyle">
<TextView android:id="@+id/group_name" <TextView android:id="@+id/group_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="left|center_vertical" android:layout_gravity="left|center_vertical"
android:layout_weight="1" android:layout_weight="1"
android:text="@string/root" android:text="@string/root"
style="@style/WhiteOnBlack" style="@style/DefaultTextStyle" />
/>
<ImageView android:id="@+id/icon" <ImageView android:id="@+id/icon"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical" android:layout_gravity="right|center_vertical"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@drawable/ic99_blank" android:src="@drawable/ic99_blank"
style="@style/WhiteOnBlack" style="@style/DefaultTextStyle" />
/>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>

View File

@@ -35,12 +35,12 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="2dp" android:paddingTop="2dp"
android:paddingBottom="2dp" android:paddingBottom="2dp"
style="@style/GroupTextLarge"/> style="@style/DefaultTextStyle"/>
<View/> <View/>
<TextView android:id="@+id/group_label" <TextView android:id="@+id/group_label"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/GroupLabel" style="@style/SecondaryText"
android:text="@string/group"/> android:text="@string/group"/>
</TableRow> </TableRow>
</TableLayout> </TableLayout>

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<TextView android:id="@+id/filename_label" <TextView android:id="@+id/filename_label"
@@ -32,7 +32,7 @@
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@android:drawable/divider_horizontal_dark"/> android:src="@android:drawable/divider_horizontal_dark"/>
<TextView android:id="@+id/filename" <TextView android:id="@+id/filename"
style="@style/GroupText" style="@style/DefaultTextStyle"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/divider1" android:layout_below="@id/divider1"

View File

@@ -18,7 +18,7 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/activity_default_margin" android:layout_margin="@dimen/default_margin"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="fill_parent">
<EditText android:id="@+id/pass_password" <EditText android:id="@+id/pass_password"

View File

@@ -29,20 +29,4 @@
<style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar"> <style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@color/green</item> <item name="android:background">@color/green</item>
</style> </style>
<style name="GroupTextSmall" parent="android:Theme.Holo">
<item name="@android:textColor">@color/white</item>
<item name="@android:textSize">15sp</item>
</style>
<style name="GroupText" parent="android:Theme.Holo">
<item name="@android:textColor">@color/white</item>
<item name="@android:textSize">20sp</item>
</style>
<style name="GroupTextLarge" parent="android:Theme.Holo">
<item name="@android:textColor">@color/white</item>
<item name="@android:textSize">28sp</item>
</style>
<style name="DividerEntry">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">1dp</item>
</style>
</resources> </resources>

View File

@@ -18,8 +18,9 @@
along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>. along with KeePassDroid. If not, see <http://www.gnu.org/licenses/>.
--> -->
<resources> <resources>
<style name="KeepassoidStyle" parent="@android:style/Theme.Material"> <style name="KeepassoidStyle" parent="android:Theme.Material">
<item name="android:actionBarStyle">@style/ActionBarStyle</item> <item name="android:actionBarStyle">@style/ActionBarStyle</item>
<item name="android:statusBarColor">@color/green_dark</item>
<item name="android:windowBackground">@color/background</item> <item name="android:windowBackground">@color/background</item>
@@ -29,20 +30,9 @@
<item name="android:colorPrimary">@color/green</item> <item name="android:colorPrimary">@color/green</item>
<item name="android:colorPrimaryDark">@color/green_dark</item> <item name="android:colorPrimaryDark">@color/green_dark</item>
<item name="android:colorAccent">@color/green</item> <item name="android:colorAccent">@color/green</item>
<item name="android:navigationBarColor">@color/green_dark</item>
</style> </style>
<style name="ActionBarStyle" parent="@android:style/Widget.Material.ActionBar"> <style name="ActionBarStyle" parent="@android:style/Widget.Material.ActionBar">
<item name="android:background">@color/green</item> <item name="android:background">@color/green</item>
</style> </style>
<style name="GroupTextSmall" parent="android:Theme.Material">
<item name="@android:textColor">@color/white</item>
<item name="@android:textSize">15sp</item>
</style>
<style name="GroupText" parent="android:Theme.Material">
<item name="@android:textColor">@color/white</item>
<item name="@android:textSize">20sp</item>
</style>
<style name="GroupTextLarge" parent="android:Theme.Material">
<item name="@android:textColor">@color/white</item>
<item name="@android:textSize">28sp</item>
</style>
</resources> </resources>

View File

@@ -23,9 +23,7 @@
<color name="green">#43a047</color> <color name="green">#43a047</color>
<color name="green_dark">#388e3c</color> <color name="green_dark">#388e3c</color>
<color name="blue_highlight">#0000dd</color> <color name="blue_highlight">#0000dd</color>
<color name="group">#ffffff</color>
<color name="background">#303030</color> <color name="background">#303030</color>
<color name="icon_background">#555555</color> <color name="icon_background">#555555</color>
<color name="icon_text">#000000</color> <color name="icon_text">#000000</color>
<color name="group_header_background">#888888</color>
</resources> </resources>

View File

@@ -15,6 +15,8 @@
limitations under the License. limitations under the License.
--> -->
<resources> <resources>
<dimen name="activity_default_margin">12dp</dimen> <dimen name="list_margin">5dp</dimen>
<dimen name="default_margin">12dp</dimen>
<dimen name="button_margin">5dp</dimen> <dimen name="button_margin">5dp</dimen>
<dimen name="fab_margin">24dp</dimen>
</resources> </resources>

View File

@@ -37,50 +37,34 @@
<item name="android:textColor">@color/white</item> <item name="android:textColor">@color/white</item>
<item name="android:background">@drawable/button_background</item> <item name="android:background">@drawable/button_background</item>
</style> </style>
<style name="GroupTextSmall" parent="android:Theme">
<style name="ElementTextTitle" parent="android:TextAppearance">
<item name="@android:textColor">@color/white</item>
</style>
<style name="TinyTextStyle">
<item name="@android:textSize">12sp</item>
</style>
<style name="SmallTextStyle" parent="android:TextAppearance">
<item name="@android:textColor">@color/white</item> <item name="@android:textColor">@color/white</item>
<item name="@android:textSize">15sp</item> <item name="@android:textSize">15sp</item>
</style> </style>
<style name="GroupText" parent="android:Theme"> <style name="DefaultTextStyle" parent="android:TextAppearance">
<item name="@android:textColor">@color/white</item> <item name="@android:textColor">@color/white</item>
<item name="@android:textSize">20sp</item> <item name="@android:textSize">16sp</item>
</style> </style>
<style name="GroupTextLarge" parent="android:Theme"> <style name="SecondaryText">
<item name="@android:textColor">@color/group</item> <item name="@android:textSize">14sp</item>
<item name="@android:textSize">28sp</item>
</style> </style>
<style name="ElementTextSmall">
<item name="@android:textSize">15sp</item>
</style> <style name="WarningTextStyle" parent="android:TextAppearance">
<style name="ElementText">
<item name="@android:textSize">20sp</item>
</style>
<style name="ElementTextLarge">
<item name="@android:textSize">28sp</item>
</style>
<style name="GroupLabel">
<item name="@android:textSize">20sp</item>
</style>
<style name="Small">
<item name="@android:textSize">12sp</item>
</style>
<style name="WhiteOnBlack">
<item name="@android:textColor">@android:color/primary_text_dark</item>
<item name="@android:textSize">20sp</item>
</style>
<style name="WhiteOnBlackSmall" parent="WhiteOnBlack">
<item name="@android:textSize">12sp</item>
</style>
<style name="DarkOnBlackSmall" parent="WhiteOnBlackSmall">
<item name="@android:textColor">@android:color/secondary_text_dark</item> <item name="@android:textColor">@android:color/secondary_text_dark</item>
</style> </style>
<style name="WhiteOnDarkSmall" parent="WhiteOnBlack"> <style name="LabelTextStyle" parent="android:TextAppearance">
<item name="@android:textSize">12sp</item> <item name="@android:textSize">12sp</item>
<!-- <item name="@android:background">#222222</item> -->
</style>
<style name="ElementTextTitle" parent="WhiteOnBlack">
<item name="@android:textColor">@color/white</item>
</style> </style>
<style name="EntryItem"> <style name="EntryItem">
<item name="@android:padding">5sp</item> <item name="@android:padding">5sp</item>
</style> </style>