Skip to content

Commit 13678b1

Browse files
author
Rubén Viguera Marañón
committed
Fix for issue Cleveroad#44 to make sample support API level 16 as it does the library
1 parent 9827f4d commit 13678b1

4 files changed

Lines changed: 52 additions & 73 deletions

File tree

sample/src/main/java/com/cleveroad/sample/ui/CsvPickerFragment.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@
88
import android.graphics.Color;
99
import android.os.Build;
1010
import android.os.Bundle;
11-
import android.os.Environment;
12-
import androidx.annotation.NonNull;
13-
import androidx.annotation.Nullable;
14-
import androidx.fragment.app.Fragment;
1511
import android.text.SpannableString;
1612
import android.text.Spanned;
1713
import android.text.TextPaint;
@@ -23,6 +19,10 @@
2319
import android.view.ViewGroup;
2420
import android.widget.TextView;
2521

22+
import androidx.annotation.NonNull;
23+
import androidx.annotation.Nullable;
24+
import androidx.fragment.app.Fragment;
25+
2626
import com.cleveroad.sample.R;
2727
import com.cleveroad.sample.provider.DocumentsProvider;
2828
import com.cleveroad.sample.utils.FileUtils;
@@ -31,7 +31,6 @@
3131
import java.io.File;
3232
import java.io.IOException;
3333
import java.io.InputStream;
34-
import java.util.Objects;
3534

3635
import static android.content.Intent.EXTRA_MIME_TYPES;
3736

@@ -71,15 +70,15 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
7170
SpannableString ss = new SpannableString(getString(R.string.pick_csv_or_demo_file));
7271
ClickableSpan clickableSpan = new ClickableSpan() {
7372
@Override
74-
public void onClick(View textView) {
73+
public void onClick(@NonNull View textView) {
7574
if (PermissionHelper.checkOrRequest(CsvPickerFragment.this, REQUEST_CODE_PERMISSION_READ_EXTERNAL_STORAGE_DEMO,
7675
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
7776
createDemoFile();
7877
}
7978
}
8079

8180
@Override
82-
public void updateDrawState(TextPaint ds) {
81+
public void updateDrawState(@NonNull TextPaint ds) {
8382
super.updateDrawState(ds);
8483
ds.setUnderlineText(false);
8584
}
@@ -148,10 +147,7 @@ private void createDemoFile() {
148147
File file = createDemoTempFile();
149148
try {
150149
if (!file.exists() && file.createNewFile()) {
151-
InputStream inputStream = null;
152-
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
153-
inputStream = Objects.requireNonNull(getContext()).getAssets().open("fifa100.csv");
154-
}
150+
InputStream inputStream = requireContext().getAssets().open("fifa100.csv");
155151
FileUtils.copy(inputStream, file);
156152
}
157153
} catch (IOException e) {

sample/src/main/java/com/cleveroad/sample/ui/TableLayoutFragment.java

Lines changed: 28 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import androidx.annotation.Nullable;
1919
import androidx.appcompat.widget.Toolbar;
2020
import androidx.fragment.app.Fragment;
21+
import androidx.loader.app.LoaderManager;
2122

2223
import com.cleveroad.adaptivetablelayout.AdaptiveTableLayout;
2324
import com.cleveroad.adaptivetablelayout.LinkedAdaptiveTableAdapter;
@@ -35,8 +36,6 @@
3536
import com.cleveroad.sample.utils.PermissionHelper;
3637
import com.google.android.material.snackbar.Snackbar;
3738

38-
import java.util.Objects;
39-
4039
import static com.cleveroad.sample.datasource.Constants.ADD_COLUMN;
4140
import static com.cleveroad.sample.datasource.Constants.ADD_ROW;
4241
import static com.cleveroad.sample.datasource.Constants.DELETE_COLUMN;
@@ -88,9 +87,7 @@ public static TableLayoutFragment newInstance(@NonNull String filename) {
8887
public void onCreate(@Nullable Bundle savedInstanceState) {
8988
super.onCreate(savedInstanceState);
9089
setRetainInstance(true);
91-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
92-
mCsvFile = Uri.parse(Objects.requireNonNull(getArguments()).getString(EXTRA_CSV_FILE));
93-
}
90+
mCsvFile = Uri.parse(requireArguments().getString(EXTRA_CSV_FILE));
9491
mCsvFileDataSource = new CsvFileDataSourceImpl(getContext(), mCsvFile);
9592
}
9693

@@ -107,9 +104,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
107104
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
108105
@Override
109106
public void onClick(View v) {
110-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
111-
Objects.requireNonNull(getActivity()).onBackPressed();
112-
}
107+
requireActivity().onBackPressed();
113108
}
114109
});
115110
toolbar.inflateMenu(R.menu.table_layout);
@@ -152,39 +147,35 @@ public void onClick(View v) {
152147
}
153148

154149
private void applyChanges() {
155-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
156-
if (PermissionHelper.checkOrRequest(
157-
Objects.requireNonNull(getActivity()),
158-
REQUEST_EXTERNAL_STORAGE,
159-
PERMISSIONS_STORAGE)) {
160-
showProgress();
161-
mCsvFileDataSource.applyChanges(
162-
getLoaderManager(),
163-
mTableLayout.getLinkedAdapterRowsModifications(),
164-
mTableLayout.getLinkedAdapterColumnsModifications(),
165-
mTableLayout.isSolidRowHeader(),
166-
TableLayoutFragment.this);
167-
}
150+
if (PermissionHelper.checkOrRequest(
151+
requireActivity(),
152+
REQUEST_EXTERNAL_STORAGE,
153+
PERMISSIONS_STORAGE)) {
154+
showProgress();
155+
mCsvFileDataSource.applyChanges(
156+
LoaderManager.getInstance(this),
157+
mTableLayout.getLinkedAdapterRowsModifications(),
158+
mTableLayout.getLinkedAdapterColumnsModifications(),
159+
mTableLayout.isSolidRowHeader(),
160+
TableLayoutFragment.this);
168161
}
169162
}
170163

171164
private void applyChanges(int actionChangeData, int position, boolean beforeOrAfter) {
172-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
173-
if (PermissionHelper.checkOrRequest(
174-
Objects.requireNonNull(getActivity()),
175-
REQUEST_EXTERNAL_STORAGE,
176-
PERMISSIONS_STORAGE)) {
177-
showProgress();
178-
mCsvFileDataSource.applyChanges(
179-
getLoaderManager(),
180-
mTableLayout.getLinkedAdapterRowsModifications(),
181-
mTableLayout.getLinkedAdapterColumnsModifications(),
182-
mTableLayout.isSolidRowHeader(),
183-
actionChangeData,
184-
position,
185-
beforeOrAfter,
186-
TableLayoutFragment.this);
187-
}
165+
if (PermissionHelper.checkOrRequest(
166+
requireActivity(),
167+
REQUEST_EXTERNAL_STORAGE,
168+
PERMISSIONS_STORAGE)) {
169+
showProgress();
170+
mCsvFileDataSource.applyChanges(
171+
LoaderManager.getInstance(this),
172+
mTableLayout.getLinkedAdapterRowsModifications(),
173+
mTableLayout.getLinkedAdapterColumnsModifications(),
174+
mTableLayout.isSolidRowHeader(),
175+
actionChangeData,
176+
position,
177+
beforeOrAfter,
178+
TableLayoutFragment.this);
188179
}
189180
}
190181

sample/src/main/java/com/cleveroad/sample/ui/dialogs/EditItemDialog.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,22 @@
33
import android.app.Activity;
44
import android.content.Intent;
55
import android.graphics.drawable.ColorDrawable;
6-
import android.os.Build;
76
import android.os.Bundle;
8-
import androidx.annotation.NonNull;
9-
import androidx.annotation.Nullable;
10-
import com.google.android.material.textfield.TextInputEditText;
11-
import com.google.android.material.textfield.TextInputLayout;
12-
import androidx.fragment.app.DialogFragment;
13-
import androidx.fragment.app.Fragment;
147
import android.util.DisplayMetrics;
158
import android.view.LayoutInflater;
169
import android.view.View;
1710
import android.view.ViewGroup;
1811
import android.view.Window;
1912
import android.widget.TextView;
2013

21-
import com.cleveroad.sample.R;
14+
import androidx.annotation.NonNull;
15+
import androidx.annotation.Nullable;
16+
import androidx.fragment.app.DialogFragment;
17+
import androidx.fragment.app.Fragment;
2218

23-
import java.util.Objects;
19+
import com.cleveroad.sample.R;
20+
import com.google.android.material.textfield.TextInputEditText;
21+
import com.google.android.material.textfield.TextInputLayout;
2422

2523
import static com.cleveroad.sample.datasource.Constants.EXTRA_COLUMN_NUMBER;
2624
import static com.cleveroad.sample.datasource.Constants.EXTRA_ROW_NUMBER;
@@ -92,12 +90,10 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
9290
@Override
9391
public void onResume() {
9492
super.onResume();
95-
Window window = getDialog().getWindow();
93+
Window window = requireDialog().getWindow();
9694
if (window != null) {
9795
DisplayMetrics dm = new DisplayMetrics();
98-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
99-
Objects.requireNonNull(getActivity()).getWindowManager().getDefaultDisplay().getMetrics(dm);
100-
}
96+
requireActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
10197
int height = dm.heightPixels;
10298
int width = dm.widthPixels;
10399
window.setLayout(width, height);

sample/src/main/java/com/cleveroad/sample/ui/dialogs/SettingsDialog.java

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,21 @@
33
import android.app.Activity;
44
import android.content.Intent;
55
import android.graphics.drawable.ColorDrawable;
6-
import android.os.Build;
76
import android.os.Bundle;
8-
import androidx.annotation.NonNull;
9-
import androidx.annotation.Nullable;
10-
import androidx.fragment.app.DialogFragment;
11-
import androidx.fragment.app.Fragment;
12-
import androidx.appcompat.widget.SwitchCompat;
137
import android.util.DisplayMetrics;
148
import android.view.LayoutInflater;
159
import android.view.View;
1610
import android.view.ViewGroup;
1711
import android.view.Window;
1812
import android.widget.CompoundButton;
1913

20-
import com.cleveroad.sample.R;
14+
import androidx.annotation.NonNull;
15+
import androidx.annotation.Nullable;
16+
import androidx.appcompat.widget.SwitchCompat;
17+
import androidx.fragment.app.DialogFragment;
18+
import androidx.fragment.app.Fragment;
2119

22-
import java.util.Objects;
20+
import com.cleveroad.sample.R;
2321

2422
import static com.cleveroad.sample.datasource.Constants.REQUEST_CODE_SETTINGS;
2523

@@ -142,12 +140,10 @@ public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
142140
@Override
143141
public void onResume() {
144142
super.onResume();
145-
Window window = getDialog().getWindow();
143+
Window window = requireDialog().getWindow();
146144
if (window != null) {
147145
DisplayMetrics dm = new DisplayMetrics();
148-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
149-
Objects.requireNonNull(getActivity()).getWindowManager().getDefaultDisplay().getMetrics(dm);
150-
}
146+
requireActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
151147
int height = dm.heightPixels;
152148
int width = dm.widthPixels;
153149
window.setLayout(width, height);

0 commit comments

Comments
 (0)