Long press to start/stop router (prevents accidental presses)
This commit is contained in:
3
TODO
3
TODO
@ -1,8 +1,5 @@
|
||||
# Required for release
|
||||
|
||||
- Prevent accidental shutdown
|
||||
- Add pop-up confirming router shutdown
|
||||
- OR: make router button long-press
|
||||
- Display release notes directly on new router version
|
||||
- Text content
|
||||
- Move help content from release notes to help page
|
||||
|
@ -12,7 +12,7 @@
|
||||
android:scaleType="centerInside"
|
||||
android:src="@drawable/routerlogo_0" />
|
||||
|
||||
<ToggleButton
|
||||
<net.i2p.android.router.util.LongToggleButton
|
||||
android:id="@+id/router_onoff_button"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="68dp"
|
||||
|
@ -26,8 +26,8 @@
|
||||
<string name="label_browse">Browse</string>
|
||||
<string name="label_graphs">Graphs</string>
|
||||
|
||||
<string name="button_router_off">Press to start I2P</string>
|
||||
<string name="button_router_on">I2P is running (press to stop)</string>
|
||||
<string name="button_router_off">Long press to start I2P</string>
|
||||
<string name="button_router_on">I2P is running (long press to stop)</string>
|
||||
|
||||
<string name="first_start_title">Congratulations on getting I2P installed!</string>
|
||||
<string name="first_start_welcome"><b>Welcome to I2P!</b> Please <b>have patience</b> as I2P boots up and finds peers.</string>
|
||||
|
@ -26,6 +26,7 @@ import java.util.List;
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.dialog.FirstStartDialog;
|
||||
import net.i2p.android.router.dialog.VersionDialog;
|
||||
import net.i2p.android.router.util.LongToggleButton;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.data.DataHelper;
|
||||
import net.i2p.data.Destination;
|
||||
@ -101,10 +102,10 @@ public class MainFragment extends I2PFragmentBase {
|
||||
final ImageView lightImage = (ImageView) v.findViewById(R.id.main_lights);
|
||||
lightImage.setImageResource(R.drawable.routerlogo_0);
|
||||
|
||||
ToggleButton b = (ToggleButton) v.findViewById(R.id.router_onoff_button);
|
||||
b.setOnClickListener(new View.OnClickListener() {
|
||||
LongToggleButton b = (LongToggleButton) v.findViewById(R.id.router_onoff_button);
|
||||
b.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
|
||||
public void onClick(View view) {
|
||||
public boolean onLongClick(View view) {
|
||||
boolean on = ((ToggleButton) view).isChecked();
|
||||
if (on) {
|
||||
_startPressed = true;
|
||||
@ -116,6 +117,7 @@ public class MainFragment extends I2PFragmentBase {
|
||||
updateOneShot();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
|
33
src/net/i2p/android/router/util/LongToggleButton.java
Normal file
33
src/net/i2p/android/router/util/LongToggleButton.java
Normal file
@ -0,0 +1,33 @@
|
||||
package net.i2p.android.router.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.ToggleButton;
|
||||
|
||||
public class LongToggleButton extends ToggleButton {
|
||||
public LongToggleButton(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public LongToggleButton(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
public LongToggleButton(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performClick() {
|
||||
/* Cancel out toggle */
|
||||
toggle();
|
||||
return super.performClick();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performLongClick() {
|
||||
/* When clicked, toggle the state */
|
||||
toggle();
|
||||
return super.performLongClick();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user