Use a single click target that covers all transport indicators.

This commit is contained in:
akwizgran
2020-08-14 15:23:21 +01:00
parent 7fcb3394ca
commit bbcb183c24
3 changed files with 48 additions and 3 deletions

View File

@@ -11,6 +11,7 @@ import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.google.android.material.navigation.NavigationView;
@@ -147,7 +148,8 @@ public class NavDrawerActivity extends BriarActivity implements
drawerLayout = findViewById(R.id.drawer_layout);
navigation = findViewById(R.id.navigation);
GridView transportsView = findViewById(R.id.transportsView);
transportsView.setOnItemClickListener((parent, view, position, id) -> {
LinearLayout transportsLayout = findViewById(R.id.transports);
transportsLayout.setOnClickListener(v -> {
LOG.info("Starting transports activity");
startActivity(new Intent(this, TransportsActivity.class));
});

View File

@@ -0,0 +1,41 @@
package org.briarproject.briar.android.widget;
import android.annotation.TargetApi;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.LinearLayout;
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
import androidx.annotation.Nullable;
@NotNullByDefault
public class TouchInterceptingLinearLayout extends LinearLayout {
public TouchInterceptingLinearLayout(Context context) {
super(context);
}
public TouchInterceptingLinearLayout(Context context,
@Nullable AttributeSet attrs) {
super(context, attrs);
}
public TouchInterceptingLinearLayout(Context context,
@Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(21)
public TouchInterceptingLinearLayout(Context context, AttributeSet attrs,
int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent e) {
onTouchEvent(e);
return false;
}
}