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

View File

@ -26,6 +26,7 @@ import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import org.sufficientlysecure.keychain.R;
@ -126,5 +127,12 @@ public abstract class BaseActivity extends ActionBarActivity {
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"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
@ -9,12 +10,16 @@
<LinearLayout
android:layout_below="@id/toolbar"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="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
android:layout_width="match_parent"
@ -26,13 +31,6 @@
android:padding="16dp"
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
style="@style/SectionHeader"
android:layout_width="match_parent"

View File

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

View File

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