Skip to content

Commit 8f269f5

Browse files
committed
orientation change crash fixed.
1 parent 90682e8 commit 8f269f5

File tree

4 files changed

+76
-83
lines changed

4 files changed

+76
-83
lines changed

mobile/src/main/java/io/syslogic/github/fragment/ProfileFragment.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
5656
@Override
5757
@SuppressLint("SetJavaScriptEnabled")
5858
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
59-
6059
this.setDataBinding(FragmentProfileBinding.inflate(inflater, container, false));
61-
View layout = this.mDataBinding.getRoot();
62-
6360
if (this.getContext() != null) {
6461

6562
if (! isNetworkAvailable(this.getContext())) {
@@ -80,7 +77,7 @@ public void onPageCommitVisible (WebView view, String url) {
8077
}
8178
}
8279
}
83-
return layout;
80+
return this.mDataBinding.getRoot();
8481
}
8582

8683
@NonNull

mobile/src/main/java/io/syslogic/github/fragment/QueryStringsFragment.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,14 @@ public QueryStringsFragment() {}
4242
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
4343
BaseActivity activity = ((BaseActivity) this.requireActivity());
4444
this.setDataBinding(FragmentQueryStringsBinding.inflate(inflater, container, false));
45-
if (savedInstanceState == null) {
46-
47-
/* Setting up the toolbar, in order to show the topics editor. */
48-
activity.setSupportActionBar(this.getDataBinding().toolbarQueryStrings.toolbarQueryStrings);
49-
ActionBar actionbar = activity.getSupportActionBar();
50-
if (actionbar != null) {
51-
// this.getDataBinding().toolbarQueryStrings.toolbarQueryStrings.setOnMenuItemClickListener(this);
52-
actionbar.setHomeButtonEnabled(true);
53-
actionbar.setTitle(R.string.text_bookmarks);
54-
}
45+
46+
/* Setting up the toolbar, in order to show the topics editor. */
47+
activity.setSupportActionBar(this.getDataBinding().toolbarQueryStrings.toolbarQueryStrings);
48+
ActionBar actionbar = activity.getSupportActionBar();
49+
if (actionbar != null) {
50+
// this.getDataBinding().toolbarQueryStrings.toolbarQueryStrings.setOnMenuItemClickListener(this);
51+
actionbar.setHomeButtonEnabled(true);
52+
actionbar.setTitle(R.string.text_bookmarks);
5553
}
5654

5755
/* It removes & adds {@link BaseMenuProvider} */

mobile/src/main/java/io/syslogic/github/fragment/RepositoriesFragment.java

Lines changed: 65 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -56,77 +56,75 @@ public RepositoriesFragment() {}
5656
@NonNull
5757
@Override
5858
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
59+
5960
BaseActivity activity = ((BaseActivity) this.requireActivity());
60-
if (savedInstanceState == null) {
61-
62-
this.setDataBinding(FragmentRepositoriesBinding.inflate(inflater, container, false));
63-
this.getDataBinding().setPagerState(new PagerState());
64-
65-
/* It removes & adds {@link BaseMenuProvider} */
66-
activity.setMenuProvider(new SettingsMenuProvider(activity));
67-
68-
// the SpinnerItem has the same ID as the QueryString.
69-
activity.setSupportActionBar(this.getDataBinding().toolbarRepositories.toolbarQuery);
70-
AppCompatSpinner spinner = this.getDataBinding().toolbarRepositories.spinnerQueryString;
71-
spinner.setAdapter(new QueryStringAdapter(requireContext()));
72-
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
73-
int count = 0;
74-
@Override
75-
public void onItemSelected(AdapterView<?> parent, View view, int position, long resId) {
76-
if (count > 0) {
77-
SpinnerItem item = (SpinnerItem) view.getTag();
78-
ScrollListener.setPageNumber(1);
79-
String queryString = item.getValue();
80-
RepositoriesLinearView recyclerview = getDataBinding().recyclerviewRepositories;
81-
recyclerview.setQueryString(queryString);
82-
PagerState pagerState = getDataBinding().getPagerState();
83-
if (pagerState != null) {
84-
pagerState.setQueryString(queryString);
85-
getDataBinding().setPagerState(pagerState);
86-
}
87-
if (recyclerview.getAdapter() != null) {
88-
recyclerview.clearAdapter();
89-
((RepositoriesAdapter) recyclerview.getAdapter()).fetchPage(1);
90-
}
61+
this.setDataBinding(FragmentRepositoriesBinding.inflate(inflater, container, false));
62+
this.getDataBinding().setPagerState(new PagerState());
63+
64+
/* It removes & adds {@link BaseMenuProvider} */
65+
activity.setMenuProvider(new SettingsMenuProvider(activity));
66+
67+
// the SpinnerItem has the same ID as the QueryString.
68+
activity.setSupportActionBar(this.getDataBinding().toolbarRepositories.toolbarQuery);
69+
AppCompatSpinner spinner = this.getDataBinding().toolbarRepositories.spinnerQueryString;
70+
spinner.setAdapter(new QueryStringAdapter(requireContext()));
71+
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
72+
int count = 0;
73+
@Override
74+
public void onItemSelected(AdapterView<?> parent, View view, int position, long resId) {
75+
if (count > 0) {
76+
SpinnerItem item = (SpinnerItem) view.getTag();
77+
ScrollListener.setPageNumber(1);
78+
String queryString = item.getValue();
79+
RepositoriesLinearView recyclerview = getDataBinding().recyclerviewRepositories;
80+
recyclerview.setQueryString(queryString);
81+
PagerState pagerState = getDataBinding().getPagerState();
82+
if (pagerState != null) {
83+
pagerState.setQueryString(queryString);
84+
getDataBinding().setPagerState(pagerState);
85+
}
86+
if (recyclerview.getAdapter() != null) {
87+
recyclerview.clearAdapter();
88+
((RepositoriesAdapter) recyclerview.getAdapter()).fetchPage(1);
9189
}
92-
count++;
9390
}
94-
@Override
95-
public void onNothingSelected(AdapterView<?> parent) {}
96-
});
97-
98-
/* It is quicker to query Room, because the QueryStringAdapter is populating too slow. */
99-
assert this.prefs != null;
100-
showRepositoryTopics = this.prefs.getBoolean(Constants.PREFERENCE_KEY_SHOW_REPOSITORY_TOPICS, false);
101-
if (this.getDataBinding().recyclerviewRepositories.getAdapter() == null) {
102-
if (isNetworkAvailable(requireContext())) {
103-
QueryStringsDao dao = Abstraction.getInstance(requireContext()).queryStringsDao();
104-
Abstraction.executorService.execute(() -> {
105-
try {
106-
assert dao != null;
107-
List<QueryString> items = dao.getItems();
108-
if (items.size() > 0) {
109-
String queryString = items.get(0).toQueryString();
110-
requireActivity().runOnUiThread(() -> {
111-
RepositoriesAdapter adapter = new RepositoriesAdapter(requireContext(), queryString, showRepositoryTopics, 1);
112-
getDataBinding().recyclerviewRepositories.setAdapter(adapter);
113-
PagerState pagerState = getDataBinding().getPagerState();
114-
if (pagerState != null) {
115-
pagerState.setQueryString(queryString);
116-
getDataBinding().setPagerState(pagerState);
117-
}
118-
});
119-
} else {
120-
if (mDebug) {Log.e(LOG_TAG, "table `" + Constants.TABLE_QUERY_STRINGS +"` has no records.");}
121-
this.getDataBinding().toolbarRepositories.spinnerQueryString.setVisibility(View.INVISIBLE);
122-
}
123-
} catch (IllegalStateException e) {
124-
if (mDebug) {Log.e(LOG_TAG, e.getMessage());}
91+
count++;
92+
}
93+
@Override
94+
public void onNothingSelected(AdapterView<?> parent) {}
95+
});
96+
97+
/* It is quicker to query Room, because the QueryStringAdapter is populating too slow. */
98+
assert this.prefs != null;
99+
showRepositoryTopics = this.prefs.getBoolean(Constants.PREFERENCE_KEY_SHOW_REPOSITORY_TOPICS, false);
100+
if (this.getDataBinding().recyclerviewRepositories.getAdapter() == null) {
101+
if (isNetworkAvailable(requireContext())) {
102+
QueryStringsDao dao = Abstraction.getInstance(requireContext()).queryStringsDao();
103+
Abstraction.executorService.execute(() -> {
104+
try {
105+
assert dao != null;
106+
List<QueryString> items = dao.getItems();
107+
if (items.size() > 0) {
108+
String queryString = items.get(0).toQueryString();
109+
requireActivity().runOnUiThread(() -> {
110+
RepositoriesAdapter adapter = new RepositoriesAdapter(requireContext(), queryString, showRepositoryTopics, 1);
111+
getDataBinding().recyclerviewRepositories.setAdapter(adapter);
112+
PagerState pagerState = getDataBinding().getPagerState();
113+
if (pagerState != null) {
114+
pagerState.setQueryString(queryString);
115+
getDataBinding().setPagerState(pagerState);
116+
}
117+
});
118+
} else {
119+
if (mDebug) {Log.e(LOG_TAG, "table `" + Constants.TABLE_QUERY_STRINGS +"` has no records.");}
120+
this.getDataBinding().toolbarRepositories.spinnerQueryString.setVisibility(View.INVISIBLE);
125121
}
126-
});
127-
} else {
128-
this.onNetworkLost();
129-
}
122+
} catch (IllegalStateException e) {
123+
if (mDebug) {Log.e(LOG_TAG, e.getMessage());}
124+
}
125+
});
126+
} else {
127+
this.onNetworkLost();
130128
}
131129
}
132130
return this.getDataBinding().getRoot();

mobile/src/main/java/io/syslogic/github/fragment/RepositoryFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
8787
@SuppressLint("SetJavaScriptEnabled")
8888
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
8989
this.setDataBinding(FragmentRepositoryBinding.inflate(inflater, container, false));
90-
View layout = this.mDataBinding.getRoot();
90+
9191
if (this.getContext() != null) {
9292
if (! isNetworkAvailable(this.getContext())) {
9393
this.onNetworkLost();
@@ -142,7 +142,7 @@ public void onNothingSelected(AdapterView<?> parent) {}
142142
});
143143
}
144144
}
145-
return layout;
145+
return this.mDataBinding.getRoot();
146146
}
147147

148148
void downloadBranchAsZip(@Nullable String branch) {

0 commit comments

Comments
 (0)