Skip to content

Commit 783cdf1

Browse files
about screen refactoring
1 parent d465e37 commit 783cdf1

File tree

4 files changed

+106
-118
lines changed

4 files changed

+106
-118
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-
#Sat Nov 10 09:06:39 EST 2018
2+
#Sat Nov 10 11:10:51 EST 2018
33
version_minor=0
4-
version_build=12
4+
version_build=13
55
version_patch=1
6-
version_major=2
76
version_store=42
7+
version_major=2

app/src/main/java/com/vrem/wifianalyzer/about/AboutFragment.java

Lines changed: 67 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
package com.vrem.wifianalyzer.about;
2020

21+
import android.app.Activity;
2122
import android.app.AlertDialog;
2223
import android.content.ActivityNotFoundException;
2324
import android.content.DialogInterface;
@@ -26,11 +27,10 @@
2627
import android.os.Build;
2728
import android.os.Bundle;
2829
import android.support.annotation.NonNull;
29-
import android.support.annotation.RawRes;
30-
import android.support.annotation.StringRes;
3130
import android.support.v4.app.Fragment;
3231
import android.view.LayoutInflater;
3332
import android.view.View;
33+
import android.view.View.OnClickListener;
3434
import android.view.ViewGroup;
3535
import android.widget.TextView;
3636
import android.widget.Toast;
@@ -46,16 +46,31 @@
4646

4747
public class AboutFragment extends Fragment {
4848
private static final String YEAR_FORMAT = "yyyy";
49-
private AlertDialog alertDialog;
5049

5150
@Override
5251
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
5352
View view = inflater.inflate(R.layout.about_content, container, false);
5453
setCopyright(view);
5554
setExtraInformation(view);
55+
setOnClicks(view);
5656
return view;
5757
}
5858

59+
private void setOnClicks(View view) {
60+
AlertDialogClickListener gpl = new AlertDialogClickListener(getActivity(), R.string.gpl, R.raw.gpl);
61+
view.findViewById(R.id.license).setOnClickListener(gpl);
62+
63+
AlertDialogClickListener contributors = new AlertDialogClickListener(getActivity(), R.string.about_contributor_title, R.raw.contributors, false);
64+
view.findViewById(R.id.contributors).setOnClickListener(contributors);
65+
66+
AlertDialogClickListener al = new AlertDialogClickListener(getActivity(), R.string.al, R.raw.al);
67+
view.findViewById(R.id.apacheCommonsLicense).setOnClickListener(al);
68+
view.findViewById(R.id.graphViewLicense).setOnClickListener(al);
69+
view.findViewById(R.id.materialDesignIconsLicense).setOnClickListener(al);
70+
71+
view.findViewById(R.id.writeReview).setOnClickListener(new WriteReviewClickListener(getActivity()));
72+
}
73+
5974
private void setCopyright(View view) {
6075
String year = new SimpleDateFormat(YEAR_FORMAT).format(new Date());
6176
String message = getResources().getString(R.string.app_copyright);
@@ -85,60 +100,65 @@ private void setText(View view, int id, String text) {
85100
}
86101
}
87102

88-
public void writeReview(@NonNull View view) {
89-
String url = "market://details?id=" + BuildConfig.APPLICATION_ID;
90-
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
91-
try {
92-
startActivity(intent);
93-
} catch (ActivityNotFoundException e) {
94-
Toast.makeText(view.getContext(), e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
95-
}
96-
}
103+
static class WriteReviewClickListener implements OnClickListener {
104+
private final Activity activity;
97105

98-
public void showALv2(@NonNull View view) {
99-
alertDialog = show(view, R.string.al, R.raw.al);
100-
changeFont(alertDialog);
101-
}
106+
private WriteReviewClickListener(@NonNull Activity activity) {
107+
this.activity = activity;
108+
}
102109

103-
public void showGPLv3(@NonNull View view) {
104-
alertDialog = show(view, R.string.gpl, R.raw.gpl);
105-
changeFont(alertDialog);
110+
@Override
111+
public void onClick(View view) {
112+
String url = "market://details?id=" + BuildConfig.APPLICATION_ID;
113+
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
114+
try {
115+
activity.startActivity(intent);
116+
} catch (ActivityNotFoundException e) {
117+
Toast.makeText(view.getContext(), e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
118+
}
119+
}
106120
}
107121

108-
public void showContributors(@NonNull View view) {
109-
alertDialog = show(view, R.string.about_contributor_title, R.raw.contributors);
110-
}
122+
static class AlertDialogClickListener implements OnClickListener {
123+
private final Activity activity;
124+
private final int titleId;
125+
private final int resourceId;
126+
private final boolean isSmallFont;
111127

112-
private AlertDialog show(@NonNull View view, @StringRes int titleId, @RawRes int id) {
113-
if (getActivity().isFinishing()) {
114-
return null;
128+
AlertDialogClickListener(@NonNull Activity activity, int titleId, int resourceId) {
129+
this(activity, titleId, resourceId, true);
115130
}
116-
String text = FileUtils.readFile(getResources(), id);
117-
AlertDialog dialog = new AlertDialog
118-
.Builder(view.getContext())
119-
.setTitle(titleId)
120-
.setMessage(text)
121-
.setNeutralButton(android.R.string.ok, new Close())
122-
.create();
123-
dialog.show();
124-
return dialog;
125-
}
126131

127-
private void changeFont(AlertDialog alertDialog) {
128-
if (alertDialog != null) {
129-
TextView textView = alertDialog.findViewById(android.R.id.message);
130-
textView.setTextSize(8);
132+
AlertDialogClickListener(@NonNull Activity activity, int titleId, int resourceId, boolean isSmallFont) {
133+
this.activity = activity;
134+
this.titleId = titleId;
135+
this.resourceId = resourceId;
136+
this.isSmallFont = isSmallFont;
131137
}
132-
}
133-
134-
AlertDialog getAlertDialog() {
135-
return alertDialog;
136-
}
137138

138-
private static class Close implements DialogInterface.OnClickListener {
139139
@Override
140-
public void onClick(DialogInterface dialog, int which) {
141-
dialog.dismiss();
140+
public void onClick(View view) {
141+
if (!activity.isFinishing()) {
142+
String text = FileUtils.readFile(activity.getResources(), resourceId);
143+
AlertDialog alertDialog = new AlertDialog
144+
.Builder(view.getContext())
145+
.setTitle(titleId)
146+
.setMessage(text)
147+
.setNeutralButton(android.R.string.ok, new Close())
148+
.create();
149+
alertDialog.show();
150+
if (isSmallFont) {
151+
TextView textView = alertDialog.findViewById(android.R.id.message);
152+
textView.setTextSize(8);
153+
}
154+
}
155+
}
156+
157+
private static class Close implements DialogInterface.OnClickListener {
158+
@Override
159+
public void onClick(DialogInterface dialog, int which) {
160+
dialog.dismiss();
161+
}
142162
}
143163
}
144164

app/src/main/res/layout/about_content.xml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,6 @@
9292
android:text="@string/app_url"/>
9393

9494
<TextView
95-
android:id="@+id/license"
9695
android:layout_width="wrap_content"
9796
android:layout_height="wrap_content"
9897
android:layout_marginBottom="@dimen/activity_vertical_margin"
@@ -101,9 +100,9 @@
101100
android:textStyle="italic"/>
102101

103102
<TextView
103+
android:id="@+id/license"
104104
android:layout_width="wrap_content"
105105
android:layout_height="wrap_content"
106-
android:onClick="showGPLv3"
107106
android:text="@string/gpl"/>
108107

109108
<TextView
@@ -130,15 +129,13 @@
130129
android:layout_width="wrap_content"
131130
android:layout_height="wrap_content"
132131
android:layout_marginTop="@dimen/activity_vertical_margin"
133-
android:onClick="showContributors"
134132
android:text="@string/about_contributor_title"/>
135133

136134
<Button
137135
android:id="@+id/writeReview"
138136
android:layout_width="wrap_content"
139137
android:layout_height="wrap_content"
140138
android:layout_marginTop="@dimen/activity_vertical_margin"
141-
android:onClick="writeReview"
142139
android:text="@string/about_write_review"/>
143140
<!-- Libraries -->
144141
<TextView
@@ -168,9 +165,9 @@
168165
android:text="@string/about_library_apache_url"/>
169166

170167
<TextView
168+
android:id="@+id/apacheCommonsLicense"
171169
android:layout_width="wrap_content"
172170
android:layout_height="wrap_content"
173-
android:onClick="showALv2"
174171
android:text="@string/al"/>
175172

176173
<TextView
@@ -199,9 +196,9 @@
199196
android:text="@string/about_library_graph_view_url"/>
200197

201198
<TextView
199+
android:id="@+id/graphViewLicense"
202200
android:layout_width="wrap_content"
203201
android:layout_height="wrap_content"
204-
android:onClick="showALv2"
205202
android:text="@string/al"/>
206203

207204
<TextView
@@ -230,9 +227,9 @@
230227
android:text="@string/about_library_material_url"/>
231228

232229
<TextView
230+
android:id="@+id/materialDesignIconsLicense"
233231
android:layout_width="wrap_content"
234232
android:layout_height="wrap_content"
235-
android:onClick="showALv2"
236233
android:text="@string/al"/>
237234

238235
<TextView

0 commit comments

Comments
 (0)