From 7feb4bc93f2981377e2dc4717bdfba52cf43b925 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Tue, 15 Oct 2024 23:30:49 +0200 Subject: [PATCH] implement "scan" button --- .../thoughtcrime/securesms/qr/QrActivity.java | 11 ++++++++--- .../securesms/qr/QrShowFragment.java | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/qr/QrActivity.java b/src/main/java/org/thoughtcrime/securesms/qr/QrActivity.java index c35bd2aaa..352b72c10 100644 --- a/src/main/java/org/thoughtcrime/securesms/qr/QrActivity.java +++ b/src/main/java/org/thoughtcrime/securesms/qr/QrActivity.java @@ -12,10 +12,10 @@ import android.preference.PreferenceManager; import android.util.Log; import android.view.Menu; import android.view.MenuItem; +import android.view.View; import android.widget.Toast; import androidx.annotation.NonNull; -import androidx.core.view.MenuCompat; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentStatePagerAdapter; @@ -42,7 +42,7 @@ import org.thoughtcrime.securesms.util.ViewUtil; import java.io.FileNotFoundException; import java.io.InputStream; -public class QrActivity extends BaseActionBarActivity { +public class QrActivity extends BaseActionBarActivity implements View.OnClickListener { private final static String TAG = QrActivity.class.getSimpleName(); private final static int REQUEST_CODE_IMAGE = 46243; @@ -64,7 +64,7 @@ public class QrActivity extends BaseActionBarActivity { super.onCreate(savedInstanceState); setContentView(R.layout.activity_qr); - qrShowFragment = new QrShowFragment(); + qrShowFragment = new QrShowFragment(this); tabLayout = ViewUtil.findById(this, R.id.tab_layout); viewPager = ViewUtil.findById(this, R.id.pager); ProfilePagerAdapter adapter = new ProfilePagerAdapter(this, getSupportFragmentManager()); @@ -216,6 +216,11 @@ public class QrActivity extends BaseActionBarActivity { } } + @Override + public void onClick(View v) { + viewPager.setCurrentItem(TAB_SCAN); + } + private class ProfilePagerAdapter extends FragmentStatePagerAdapter { private final QrActivity activity; diff --git a/src/main/java/org/thoughtcrime/securesms/qr/QrShowFragment.java b/src/main/java/org/thoughtcrime/securesms/qr/QrShowFragment.java index 3395db306..3f51729cf 100644 --- a/src/main/java/org/thoughtcrime/securesms/qr/QrShowFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/qr/QrShowFragment.java @@ -9,6 +9,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; +import android.widget.Button; import android.widget.Toast; import androidx.annotation.NonNull; @@ -46,6 +47,17 @@ public class QrShowFragment extends Fragment implements DcEventCenter.DcEventDel private DcContext dcContext; + private View.OnClickListener scanClicklistener; + + public QrShowFragment() { + this(null); + } + + public QrShowFragment(View.OnClickListener scanClicklistener) { + super(); + this.scanClicklistener = scanClicklistener; + } + @Override public void onCreate(Bundle bundle) { super.onCreate(bundle); @@ -87,6 +99,13 @@ public class QrShowFragment extends Fragment implements DcEventCenter.DcEventDel } view.findViewById(R.id.share_link_button).setOnClickListener((v) -> shareInviteURL()); + Button scanBtn = view.findViewById(R.id.scan_qr_button); + if (scanClicklistener != null) { + scanBtn.setVisibility(View.VISIBLE); + scanBtn.setOnClickListener(scanClicklistener); + } else { + scanBtn.setVisibility(View.GONE); + } return view; }