UI experiments for app settings

This commit is contained in:
Dominik Schürmann 2015-02-02 17:19:27 +01:00
parent e651a39279
commit 95e534e1f5
5 changed files with 69 additions and 50 deletions

View File

@ -17,6 +17,7 @@
package org.sufficientlysecure.keychain.remote.ui; package org.sufficientlysecure.keychain.remote.ui;
import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
@ -59,9 +60,10 @@ public class AppSettingsActivity extends BaseActivity {
new View.OnClickListener() { new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
finish(); cancel();
} }
}); });
setTitle(null);
mSettingsFragment = (AppSettingsHeaderFragment) getSupportFragmentManager().findFragmentById( mSettingsFragment = (AppSettingsHeaderFragment) getSupportFragmentManager().findFragmentById(
R.id.api_app_settings_fragment); R.id.api_app_settings_fragment);
@ -80,6 +82,13 @@ public class AppSettingsActivity extends BaseActivity {
private void save() { private void save() {
mAllowedKeysFragment.saveAllowedKeys(); mAllowedKeysFragment.saveAllowedKeys();
setResult(Activity.RESULT_OK);
finish();
}
private void cancel() {
setResult(Activity.RESULT_CANCELED);
finish();
} }
@Override @Override
@ -127,16 +136,16 @@ public class AppSettingsActivity extends BaseActivity {
mAppSettings = new ProviderHelper(this).getApiAppSettings(appUri); mAppSettings = new ProviderHelper(this).getApiAppSettings(appUri);
mSettingsFragment.setAppSettings(mAppSettings); mSettingsFragment.setAppSettings(mAppSettings);
String appName; // String appName;
PackageManager pm = getPackageManager(); // PackageManager pm = getPackageManager();
try { // try {
ApplicationInfo ai = pm.getApplicationInfo(mAppSettings.getPackageName(), 0); // ApplicationInfo ai = pm.getApplicationInfo(mAppSettings.getPackageName(), 0);
appName = (String) pm.getApplicationLabel(ai); // appName = (String) pm.getApplicationLabel(ai);
} catch (PackageManager.NameNotFoundException e) { // } catch (PackageManager.NameNotFoundException e) {
// fallback // // fallback
appName = mAppSettings.getPackageName(); // appName = mAppSettings.getPackageName();
} // }
setTitle(appName); // setTitle(appName);
Uri accountsUri = appUri.buildUpon().appendPath(KeychainContract.PATH_ACCOUNTS).build(); Uri accountsUri = appUri.buildUpon().appendPath(KeychainContract.PATH_ACCOUNTS).build();
Log.d(Constants.TAG, "accountsUri: " + accountsUri); Log.d(Constants.TAG, "accountsUri: " + accountsUri);

View File

@ -26,6 +26,7 @@ import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.R;
@ -126,5 +127,12 @@ public abstract class BaseActivity extends ActionBarActivity {
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
} }
// public void add() {
// LayoutInflater inflater = LayoutInflater.from(mToolbar.getContext());
// View view = inflater.inflate(R.layout.api_app_settings_fragment, null);
// Toolbar.LayoutParams layoutParams = new Toolbar.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
//// layoutParams.gravity = Gravity.BOTTOM;
// mToolbar.addView(view, layoutParams);
// }
} }

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<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="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -9,12 +10,16 @@
<LinearLayout <LinearLayout
android:layout_below="@id/toolbar" android:layout_below="@id/toolbar"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<include layout="@layout/notify_area" /> <fragment
android:id="@+id/api_app_settings_fragment"
android:name="org.sufficientlysecure.keychain.remote.ui.AppSettingsHeaderFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/api_app_settings_fragment" />
<ScrollView <ScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
@ -26,13 +31,6 @@
android:padding="16dp" android:padding="16dp"
android:orientation="vertical"> android:orientation="vertical">
<fragment
android:id="@+id/api_app_settings_fragment"
android:name="org.sufficientlysecure.keychain.remote.ui.AppSettingsHeaderFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/api_app_settings_fragment" />
<TextView <TextView
style="@style/SectionHeader" style="@style/SectionHeader"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -1,15 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto" xmlns:custom="http://schemas.android.com/apk/res-auto"
android:background="?attr/colorPrimaryDark"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight" android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginTop="4dp"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:orientation="horizontal"> android:orientation="horizontal">
@ -17,7 +16,6 @@
android:id="@+id/api_app_settings_app_icon" android:id="@+id/api_app_settings_app_icon"
android:layout_width="48dp" android:layout_width="48dp"
android:layout_height="48dp" android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_marginRight="6dp" android:layout_marginRight="6dp"
android:src="@drawable/ic_launcher" /> android:src="@drawable/ic_launcher" />
@ -31,12 +29,14 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="vertical" android:orientation="vertical"
android:text="Name (set in-code)" android:text="Name (set in-code)"
android:textColor="@color/icons"
android:textAppearance="?android:attr/textAppearanceMedium" /> android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout> </RelativeLayout>
<org.sufficientlysecure.keychain.ui.widget.FoldableLinearLayout <org.sufficientlysecure.keychain.ui.widget.FoldableLinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:textColor="@color/icons"
custom:foldedLabel="@string/api_settings_show_info" custom:foldedLabel="@string/api_settings_show_info"
custom:unFoldedLabel="@string/api_settings_hide_info"> custom:unFoldedLabel="@string/api_settings_hide_info">
@ -44,6 +44,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/api_settings_package_name" android:text="@string/api_settings_package_name"
android:textColor="@color/icons"
android:textAppearance="?android:attr/textAppearanceMedium" /> android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView <TextView
@ -51,12 +52,14 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="com.example" android:text="com.example"
android:textColor="@color/icons"
android:textAppearance="?android:attr/textAppearanceSmall" /> android:textAppearance="?android:attr/textAppearanceSmall" />
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/api_settings_package_signature" android:text="@string/api_settings_package_signature"
android:textColor="@color/icons"
android:textAppearance="?android:attr/textAppearanceMedium" /> android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView <TextView
@ -64,6 +67,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Base64 encoded hash of signature" android:text="Base64 encoded hash of signature"
android:textColor="@color/icons"
android:textAppearance="?android:attr/textAppearanceSmall" /> android:textAppearance="?android:attr/textAppearanceSmall" />
</org.sufficientlysecure.keychain.ui.widget.FoldableLinearLayout> </org.sufficientlysecure.keychain.ui.widget.FoldableLinearLayout>

View File

@ -1,37 +1,37 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<LinearLayout <LinearLayout
android:id="@+id/foldableControl" android:id="@+id/foldableControl"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="horizontal"
android:clickable="true"> android:clickable="true">
<ImageView <ImageView
android:id="@+id/foldableIcon" android:id="@+id/foldableIcon"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginRight="10dp" android:layout_marginRight="10dp"
android:src="@drawable/ic_expand_more_black_24dp"/> android:src="@drawable/ic_expand_more_black_24dp" />
<TextView <TextView
android:id="@+id/foldableText" android:id="@+id/foldableText"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/none" android:text="@string/none"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:textColor="@color/emphasis"/> android:textColor="@color/emphasis" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/foldableContainer" android:id="@+id/foldableContainer"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:visibility="gone"/> android:visibility="gone" />
</LinearLayout> </LinearLayout>