aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Heroy <johnheroy@gmail.com>2015-10-20 16:04:40 -0700
committerJohn Heroy <johnheroy@gmail.com>2015-10-20 16:04:40 -0700
commit9b435c91c5d6e13efc004f0caa88ee36916b9534 (patch)
treebcca53fa66a4cb13bd4211ccb2619906926f16c0
parent083fcd882a91e3350a1cfaa5a49ef0cae9999930 (diff)
downloadconnectbot-9b435c91c5d6e13efc004f0caa88ee36916b9534.tar.gz
connectbot-9b435c91c5d6e13efc004f0caa88ee36916b9534.tar.bz2
connectbot-9b435c91c5d6e13efc004f0caa88ee36916b9534.zip
Use volume icon in 'bell volume' dialog and factor out SeekBar declaration to an XML layout
-rw-r--r--app/src/main/java/org/connectbot/util/VolumePreference.java24
-rw-r--r--app/src/main/res/layout/volume_preference_dialog_layout.xml50
2 files changed, 58 insertions, 16 deletions
diff --git a/app/src/main/java/org/connectbot/util/VolumePreference.java b/app/src/main/java/org/connectbot/util/VolumePreference.java
index 82685a4..c5ef549 100644
--- a/app/src/main/java/org/connectbot/util/VolumePreference.java
+++ b/app/src/main/java/org/connectbot/util/VolumePreference.java
@@ -18,13 +18,14 @@
package org.connectbot.util;
import android.content.Context;
-import android.os.Build;
import android.preference.DialogPreference;
import android.util.AttributeSet;
import android.view.View;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
+import org.connectbot.R;
+
/**
* @author kenny
*
@@ -47,26 +48,17 @@ public class VolumePreference extends DialogPreference implements OnSeekBarChang
}
private void setupLayout(Context context, AttributeSet attrs) {
+ setDialogLayoutResource(R.layout.volume_preference_dialog_layout);
setPersistent(true);
}
@Override
- protected View onCreateDialogView() {
- SeekBar sb = new SeekBar(getContext());
-
- sb.setMax(100);
- sb.setProgress((int) (getPersistedFloat(
+ protected void onBindDialogView(View view) {
+ SeekBar volumeBar = (SeekBar) view.findViewById(R.id.volume_bar);
+ volumeBar.setProgress((int) (getPersistedFloat(
PreferenceConstants.DEFAULT_BELL_VOLUME) * 100));
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- sb.setPadding(75, 70, 75, 10);
- } else {
- sb.setPadding(10, 10, 10, 10);
- }
-
- sb.setOnSeekBarChangeListener(this);
-
- return sb;
+ volumeBar.setOnSeekBarChangeListener(this);
+ super.onBindDialogView(view);
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
diff --git a/app/src/main/res/layout/volume_preference_dialog_layout.xml b/app/src/main/res/layout/volume_preference_dialog_layout.xml
new file mode 100644
index 0000000..fb4bb22
--- /dev/null
+++ b/app/src/main/res/layout/volume_preference_dialog_layout.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ ConnectBot: simple, powerful, open-source SSH client for Android
+ ~ Copyright 2015 Kenny Root, Jeffrey Sharkey
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_height="wrap_content"
+ android:layout_width="fill_parent"
+ android:orientation="horizontal"
+ android:paddingLeft="24dp"
+ android:paddingStart="24dp"
+ android:paddingEnd="24dp"
+ android:paddingRight="24dp"
+ >
+
+ <ImageView
+ android:id="@+id/volume_up"
+ android:layout_marginBottom="24dp"
+ android:layout_marginTop="24dp"
+ android:layout_height="36dp"
+ android:layout_width="36dp"
+ android:src="@drawable/ic_volume_up"
+ />
+
+ <SeekBar
+ android:id="@+id/volume_bar"
+ android:layout_gravity="center_vertical"
+ android:layout_marginLeft="20dp"
+ android:layout_marginStart="20dp"
+ android:layout_height="wrap_content"
+ android:layout_width="fill_parent"
+ android:max="100"
+ android:progress="0"
+ android:secondaryProgress="0"
+ />
+
+</LinearLayout> \ No newline at end of file