Skip to content
This repository was archived by the owner on Dec 3, 2024. It is now read-only.

Commit d415716

Browse files
authored
Use view binding in more activities (#2052)
# Description Use view binding in more activities: * QRScannerActivity * ShareActivity * PullOrderDialogActivity Rename also a couple of xml layout files from `fragment_xyz` to `activity_xyz` as they are being used inside activities.
1 parent 03f7b8c commit d415716

File tree

5 files changed

+33
-45
lines changed

5 files changed

+33
-45
lines changed

app/src/main/java/com/nutomic/syncthingandroid/activities/PullOrderDialogActivity.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
import android.os.Bundle;
66
import android.view.View;
77
import android.widget.AdapterView;
8-
import android.widget.Button;
9-
import android.widget.Spinner;
10-
import com.nutomic.syncthingandroid.R;
11-
8+
import com.nutomic.syncthingandroid.databinding.ActivityPullorderDialogBinding;
129
import java.util.Arrays;
1310
import java.util.List;
1411

@@ -19,6 +16,8 @@ public class PullOrderDialogActivity extends ThemedAppCompatActivity {
1916

2017
private String selectedType;
2118

19+
private ActivityPullorderDialogBinding binding;
20+
2221
private static final List<String> mTypes = Arrays.asList(
2322
"random",
2423
"alphabetic",
@@ -31,7 +30,8 @@ public class PullOrderDialogActivity extends ThemedAppCompatActivity {
3130
@Override
3231
protected void onCreate(Bundle savedInstanceState) {
3332
super.onCreate(savedInstanceState);
34-
setContentView(R.layout.fragment_pullorder_dialog);
33+
binding = ActivityPullorderDialogBinding.inflate(getLayoutInflater());
34+
setContentView(binding.getRoot());
3535
if (savedInstanceState == null) {
3636
selectedType = getIntent().getStringExtra(EXTRA_PULL_ORDER);
3737
}
@@ -40,8 +40,7 @@ protected void onCreate(Bundle savedInstanceState) {
4040
}
4141

4242
private void initiateFinishBtn() {
43-
Button finishBtn = findViewById(R.id.finish_btn);
44-
finishBtn.setOnClickListener(v -> {
43+
binding.finishBtn.setOnClickListener(v -> {
4544
saveConfiguration();
4645
finish();
4746
});
@@ -54,9 +53,8 @@ private void saveConfiguration() {
5453
}
5554

5655
private void initiateSpinner() {
57-
Spinner pullOrderTypeSpinner = findViewById(R.id.pullOrderTypeSpinner);
58-
pullOrderTypeSpinner.setSelection(mTypes.indexOf(selectedType));
59-
pullOrderTypeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
56+
binding.pullOrderTypeSpinner.setSelection(mTypes.indexOf(selectedType));
57+
binding.pullOrderTypeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
6058
@Override
6159
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
6260
if (position != mTypes.indexOf(selectedType)) {

app/src/main/java/com/nutomic/syncthingandroid/activities/QRScannerActivity.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,15 @@
66
import android.content.Intent;
77
import android.content.pm.PackageManager;
88
import android.os.Bundle;
9-
import android.util.Log;
10-
import android.widget.TextView;
11-
129
import androidx.annotation.NonNull;
1310
import androidx.annotation.Nullable;
1411
import androidx.core.app.ActivityCompat;
1512
import androidx.core.content.ContextCompat;
16-
1713
import com.google.zxing.ResultPoint;
1814
import com.journeyapps.barcodescanner.BarcodeCallback;
1915
import com.journeyapps.barcodescanner.BarcodeResult;
20-
import com.journeyapps.barcodescanner.DecoratedBarcodeView;
2116
import com.nutomic.syncthingandroid.R;
17+
import com.nutomic.syncthingandroid.databinding.ActivityQrScannerBinding;
2218

2319
import java.util.List;
2420

@@ -33,17 +29,16 @@ static Intent intent(Context context) {
3329

3430
private final int RC_HANDLE_CAMERA_PERM = 888;
3531

36-
private DecoratedBarcodeView barcodeView;
32+
private ActivityQrScannerBinding binding;
3733

3834
// region === Activity Lifecycle ===
3935
@Override
4036
protected void onCreate(@Nullable Bundle savedInstanceState) {
4137
super.onCreate(savedInstanceState);
42-
setContentView(R.layout.fragment_qr_scanner);
43-
44-
this.barcodeView = findViewById(R.id.bar_code_scanner_view);
38+
binding = ActivityQrScannerBinding.inflate(getLayoutInflater());
39+
setContentView(binding.getRoot());
4540

46-
findViewById(R.id.cancel_button).setOnClickListener(view -> {
41+
binding.cancelButton.setOnClickListener(view -> {
4742
finishScanning();
4843
});
4944

@@ -98,12 +93,12 @@ private void checkPermissionAndStartScanner() {
9893
}
9994

10095
private void startScanner() {
101-
this.barcodeView.resume();
102-
this.barcodeView.decodeSingle(this);
96+
binding.barCodeScannerView.resume();
97+
binding.barCodeScannerView.decodeSingle(this);
10398
}
10499

105100
private void finishScanning() {
106-
this.barcodeView.pause();
101+
binding.barCodeScannerView.pause();
107102
finish();
108103
}
109104
// endregion

app/src/main/java/com/nutomic/syncthingandroid/activities/ShareActivity.java

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.nutomic.syncthingandroid.activities;
22

3+
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN;
4+
35
import android.app.ProgressDialog;
46
import android.content.ContentResolver;
57
import android.content.Intent;
@@ -15,14 +17,13 @@
1517
import android.webkit.MimeTypeMap;
1618
import android.widget.AdapterView;
1719
import android.widget.ArrayAdapter;
18-
import android.widget.Button;
19-
import android.widget.EditText;
2020
import android.widget.Spinner;
2121
import android.widget.TextView;
2222
import android.widget.Toast;
2323

2424
import com.google.common.io.Files;
2525
import com.nutomic.syncthingandroid.R;
26+
import com.nutomic.syncthingandroid.databinding.ActivityShareBinding;
2627
import com.nutomic.syncthingandroid.model.Folder;
2728
import com.nutomic.syncthingandroid.service.SyncthingService;
2829
import com.nutomic.syncthingandroid.util.Util;
@@ -39,8 +40,6 @@
3940
import java.util.List;
4041
import java.util.Map;
4142

42-
import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN;
43-
4443
/**
4544
* Shares incoming files to syncthing folders.
4645
* <p>
@@ -59,6 +58,8 @@ public class ShareActivity extends StateDialogActivity
5958

6059
private Spinner mFoldersSpinner;
6160

61+
private ActivityShareBinding binding;
62+
6263
@Override
6364
public void onServiceStateChange(SyncthingService.State currentState) {
6465
if (currentState != SyncthingService.State.ACTIVE || getApi() == null)
@@ -81,9 +82,8 @@ public void onServiceStateChange(SyncthingService.State currentState) {
8182
this, android.R.layout.simple_spinner_item, folders);
8283

8384
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
84-
Spinner sItems = findViewById(R.id.folders);
85-
sItems.setAdapter(adapter);
86-
sItems.setSelection(folderIndex);
85+
binding.folders.setAdapter(adapter);
86+
binding.folders.setSelection(folderIndex);
8787
}
8888

8989
@Override
@@ -102,18 +102,13 @@ protected void onPostCreate(Bundle savedInstanceState) {
102102
@Override
103103
protected void onCreate(Bundle savedInstanceState) {
104104
super.onCreate(savedInstanceState);
105-
setContentView(R.layout.activity_share);
105+
binding = ActivityShareBinding.inflate(getLayoutInflater());
106+
setContentView(binding.getRoot());
106107

107108
getWindow().setSoftInputMode(SOFT_INPUT_STATE_ALWAYS_HIDDEN);
108109

109110
registerOnServiceConnectedListener(this);
110111

111-
Button mShareButton = findViewById(R.id.share_button);
112-
Button mCancelButton = findViewById(R.id.cancel_button);
113-
Button browseButton = findViewById(R.id.browse_button);
114-
EditText mShareName = findViewById(R.id.name);
115-
TextView mShareTitle = findViewById(R.id.namesTitle);
116-
117112
mSubDirectoryTextView = findViewById(R.id.sub_directory_Textview);
118113
mFoldersSpinner = findViewById(R.id.folders);
119114

@@ -143,16 +138,16 @@ protected void onCreate(Bundle savedInstanceState) {
143138
files.put(sourceUri, displayName);
144139
}
145140

146-
mShareName.setText(TextUtils.join("\n", files.values()));
141+
binding.name.setText(TextUtils.join("\n", files.values()));
147142
if (files.size() > 1) {
148-
mShareName.setFocusable(false);
149-
mShareName.setKeyListener(null);
143+
binding.name.setFocusable(false);
144+
binding.name.setKeyListener(null);
150145
}
151-
mShareTitle.setText(getResources().getQuantityString(R.plurals.file_name_title,
146+
binding.namesTitle.setText(getResources().getQuantityString(R.plurals.file_name_title,
152147
files.size() > 1 ? 2 : 1));
153-
mShareButton.setOnClickListener(view -> {
148+
binding.shareButton.setOnClickListener(view -> {
154149
if (files.size() == 1)
155-
files.entrySet().iterator().next().setValue(mShareName.getText().toString());
150+
files.entrySet().iterator().next().setValue(binding.name.getText().toString());
156151
Folder folder = (Folder) mFoldersSpinner.getSelectedItem();
157152
File directory = new File(folder.path, getSavedSubDirectory());
158153
CopyFilesTask mCopyFilesTask = new CopyFilesTask(this, files, folder, directory);
@@ -171,15 +166,15 @@ public void onNothingSelected(AdapterView<?> parent) {
171166
}
172167
});
173168

174-
browseButton.setOnClickListener(view -> {
169+
binding.browseButton.setOnClickListener(view -> {
175170
Folder folder = (Folder) mFoldersSpinner.getSelectedItem();
176171
File initialDirectory = new File(folder.path, getSavedSubDirectory());
177172
startActivityForResult(FolderPickerActivity.createIntent(getApplicationContext(),
178173
initialDirectory.getAbsolutePath(), folder.path),
179174
FolderPickerActivity.DIRECTORY_REQUEST_CODE);
180175
});
181176

182-
mCancelButton.setOnClickListener(view -> finish());
177+
binding.cancelButton.setOnClickListener(view -> finish());
183178
mSubDirectoryTextView.setText(getSavedSubDirectory());
184179
}
185180

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)