Skip to content

Commit f1bf6d7

Browse files
Channel Available Adapter to use View Binding
1 parent 345af04 commit f1bf6d7

File tree

3 files changed

+85
-24
lines changed

3 files changed

+85
-24
lines changed

app/build.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#Build Properties
2-
#Sun Mar 08 11:21:25 EDT 2020
2+
#Sun Mar 08 14:46:57 EDT 2020
33
version_minor=1
4-
version_build=23
4+
version_build=24
55
version_patch=1
6-
version_store=51
76
version_major=2
7+
version_store=51

app/src/main/java/com/vrem/wifianalyzer/vendor/VendorAdapter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@ private class Binding {
7171
private final TextView vendorName;
7272
private final TextView vendorMacs;
7373

74-
Binding(@NonNull VendorDetailsBinding vendorDetailsBinding) {
75-
root = vendorDetailsBinding.getRoot();
76-
vendorName = vendorDetailsBinding.vendorName;
77-
vendorMacs = vendorDetailsBinding.vendorMacs;
74+
Binding(@NonNull VendorDetailsBinding binding) {
75+
root = binding.getRoot();
76+
vendorName = binding.vendorName;
77+
vendorMacs = binding.vendorMacs;
7878
}
7979

8080
Binding(@NonNull View view) {

app/src/main/java/com/vrem/wifianalyzer/wifi/channelavailable/ChannelAvailableAdapter.java

Lines changed: 78 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package com.vrem.wifianalyzer.wifi.channelavailable;
2020

2121
import android.content.Context;
22+
import android.content.res.Resources;
2223
import android.text.TextUtils;
2324
import android.view.LayoutInflater;
2425
import android.view.View;
@@ -28,6 +29,7 @@
2829

2930
import com.vrem.wifianalyzer.MainContext;
3031
import com.vrem.wifianalyzer.R;
32+
import com.vrem.wifianalyzer.databinding.ChannelAvailableDetailsBinding;
3133
import com.vrem.wifianalyzer.wifi.band.WiFiBand;
3234
import com.vrem.wifianalyzer.wifi.band.WiFiChannelCountry;
3335

@@ -46,30 +48,89 @@ class ChannelAvailableAdapter extends ArrayAdapter<WiFiChannelCountry> {
4648

4749
@NonNull
4850
@Override
49-
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
50-
MainContext mainContext = MainContext.INSTANCE;
51-
View view = convertView;
52-
if (view == null) {
53-
LayoutInflater layoutInflater = mainContext.getLayoutInflater();
54-
view = layoutInflater.inflate(R.layout.channel_available_details, parent, false);
55-
}
56-
57-
Locale currentLocale = mainContext.getSettings().getLanguageLocale();
51+
public View getView(int position, @Nullable View view, @NonNull ViewGroup parent) {
52+
Binding binding = view == null ? new Binding(create(parent)) : new Binding(view);
53+
View rootView = binding.getRoot();
54+
Resources resources = rootView.getResources();
5855

56+
Locale currentLocale = MainContext.INSTANCE.getSettings().getLanguageLocale();
5957
WiFiChannelCountry wiFiChannelCountry = getItem(position);
60-
view.<TextView>findViewById(R.id.channel_available_country)
58+
binding.getChannelAvailableCountry()
6159
.setText(wiFiChannelCountry.getCountryCode() + " - " + wiFiChannelCountry.getCountryName(currentLocale));
62-
view.<TextView>findViewById(R.id.channel_available_title_ghz_2)
60+
binding.getChannelAvailableTitleGhz2()
6361
.setText(String.format(Locale.ENGLISH, "%s : ",
64-
view.getResources().getString(WiFiBand.GHZ2.getTextResource())));
65-
view.<TextView>findViewById(R.id.channel_available_ghz_2)
62+
resources.getString(WiFiBand.GHZ2.getTextResource())));
63+
binding.getChannelAvailableGhz2()
6664
.setText(TextUtils.join(SEPARATOR, wiFiChannelCountry.getChannelsGHZ2().toArray()));
67-
view.<TextView>findViewById(R.id.channel_available_title_ghz_5)
65+
binding.getChannelAvailableTitleGhz5()
6866
.setText(String.format(Locale.ENGLISH, "%s : ",
69-
view.getResources().getString(WiFiBand.GHZ5.getTextResource())));
70-
view.<TextView>findViewById(R.id.channel_available_ghz_5)
67+
resources.getString(WiFiBand.GHZ5.getTextResource())));
68+
binding.getChannelAvailableGhz5()
7169
.setText(TextUtils.join(SEPARATOR, wiFiChannelCountry.getChannelsGHZ5().toArray()));
72-
return view;
70+
return rootView;
71+
}
72+
73+
private ChannelAvailableDetailsBinding create(@NonNull ViewGroup parent) {
74+
LayoutInflater layoutInflater = MainContext.INSTANCE.getLayoutInflater();
75+
return ChannelAvailableDetailsBinding.inflate(layoutInflater, parent, false);
76+
}
77+
78+
79+
private class Binding {
80+
private final View root;
81+
private final TextView channelAvailableCountry;
82+
private final TextView channelAvailableTitleGhz2;
83+
private final TextView channelAvailableGhz2;
84+
private final TextView channelAvailableTitleGhz5;
85+
private final TextView channelAvailableGhz5;
86+
87+
Binding(@NonNull ChannelAvailableDetailsBinding binding) {
88+
root = binding.getRoot();
89+
channelAvailableCountry = binding.channelAvailableCountry;
90+
channelAvailableTitleGhz2 = binding.channelAvailableTitleGhz2;
91+
channelAvailableGhz2 = binding.channelAvailableGhz2;
92+
channelAvailableTitleGhz5 = binding.channelAvailableTitleGhz5;
93+
channelAvailableGhz5 = binding.channelAvailableGhz5;
94+
}
95+
96+
Binding(@NonNull View view) {
97+
root = view;
98+
channelAvailableCountry = view.findViewById(R.id.channel_available_country);
99+
channelAvailableTitleGhz2 = view.findViewById(R.id.channel_available_title_ghz_2);
100+
channelAvailableGhz2 = view.findViewById(R.id.channel_available_ghz_2);
101+
channelAvailableTitleGhz5 = view.findViewById(R.id.channel_available_title_ghz_5);
102+
channelAvailableGhz5 = view.findViewById(R.id.channel_available_ghz_5);
103+
}
104+
105+
@NonNull
106+
View getRoot() {
107+
return root;
108+
}
109+
110+
@NonNull
111+
TextView getChannelAvailableCountry() {
112+
return channelAvailableCountry;
113+
}
114+
115+
@NonNull
116+
TextView getChannelAvailableTitleGhz2() {
117+
return channelAvailableTitleGhz2;
118+
}
119+
120+
@NonNull
121+
TextView getChannelAvailableGhz2() {
122+
return channelAvailableGhz2;
123+
}
124+
125+
@NonNull
126+
TextView getChannelAvailableTitleGhz5() {
127+
return channelAvailableTitleGhz5;
128+
}
129+
130+
@NonNull
131+
TextView getChannelAvailableGhz5() {
132+
return channelAvailableGhz5;
133+
}
73134
}
74135

75136
}

0 commit comments

Comments
 (0)