Save Instance State more precise
This commit is contained in:
@@ -204,8 +204,14 @@ public class MainActivity extends AppCompatActivity
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle savedInstanceState) {
|
||||
Fragment fragment = mFragmentManager.findFragmentByTag(String.valueOf(fragmentPage));
|
||||
savedInstanceState.putInt(ARG_FRAGMENT_PAGE, fragmentPage);
|
||||
savedInstanceState.putString(ARG_FRAGMENT_STATUS, fragmentData);
|
||||
if (fragment instanceof ModDetailFragment) {
|
||||
savedInstanceState.putString(ARG_FRAGMENT_STATUS, ((ModDetailFragment) fragment).getData());
|
||||
} else {
|
||||
savedInstanceState.putString(ARG_FRAGMENT_STATUS, fragmentData);
|
||||
}
|
||||
super.onSaveInstanceState(savedInstanceState);
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,11 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
||||
public static Fragment newInstance(String itemPosition) {
|
||||
ModDetailFragment fragment = new ModDetailFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putString(ARG_POSITION, itemPosition);//+"."+0);
|
||||
if (!itemPosition.contains("."))
|
||||
args.putString(ARG_POSITION, itemPosition+"."+0);
|
||||
else
|
||||
args.putString(ARG_POSITION, itemPosition);
|
||||
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
@@ -57,8 +61,15 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
||||
super.onCreate(savedInstanceState);
|
||||
log.d("load instance");
|
||||
if (getArguments() != null) {
|
||||
mItemPos = getArguments().getString(ARG_POSITION);
|
||||
|
||||
String itemPosition = getArguments().getString(ARG_POSITION);
|
||||
if (!itemPosition.contains(".")) {
|
||||
mItemPos = itemPosition;
|
||||
mPageRestoreRequest = null;
|
||||
} else {
|
||||
String[] split = itemPosition.split("\\.", 2);
|
||||
mItemPos = split[0];
|
||||
mPageRestoreRequest = split[1];
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.onTitleTextChange(R.string.courses);
|
||||
@@ -79,6 +90,8 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
||||
mViewPager = v.findViewById(R.id.vpPager);
|
||||
ModDetailAdapter adapterViewPager = new ModDetailAdapter(getChildFragmentManager(), mItemPos, getContext());
|
||||
mViewPager.setAdapter(adapterViewPager);
|
||||
if (mPageRestoreRequest != null)
|
||||
mViewPager.setCurrentItem(Integer.parseInt(mPageRestoreRequest));
|
||||
return v;
|
||||
}
|
||||
|
||||
@@ -103,4 +116,8 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
||||
public void gotoFragmentPart(int part, int index) {
|
||||
mViewPager.setCurrentItem(ModulePart.getPageByPart(part), true);
|
||||
}
|
||||
|
||||
public String getData() {
|
||||
return mItemPos+"."+mViewPager.getCurrentItem();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import android.util.Pair;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.ms.square.android.expandabletextview.ExpandableTextView;
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@ public class ModDetailOverviewFragment extends Fragment {
|
||||
if (getActivity() != null) {
|
||||
KVV kvv = ((MainActivity) getActivity()).getKVV();
|
||||
kvv.getModule(mItemPos, (Modules.Module module) -> {
|
||||
log.d("onRefresh", module);
|
||||
adapter.setModule(module);
|
||||
kvv.getModuleDetails(module, pair -> {
|
||||
adapter.setModule();
|
||||
|
||||
@@ -20,15 +20,15 @@ import java.util.regex.MatchResult;
|
||||
|
||||
import de.sebse.fuplanner.services.KVV.types.Announcement;
|
||||
import de.sebse.fuplanner.services.KVV.types.Assignment;
|
||||
import de.sebse.fuplanner.services.KVV.types.AssignmentList;
|
||||
import de.sebse.fuplanner.services.KVV.types.Event;
|
||||
import de.sebse.fuplanner.services.KVV.types.EventList;
|
||||
import de.sebse.fuplanner.services.KVV.types.Gradebook;
|
||||
import de.sebse.fuplanner.services.KVV.types.Lecturer;
|
||||
import de.sebse.fuplanner.services.KVV.types.LoginToken;
|
||||
import de.sebse.fuplanner.services.KVV.types.Modules;
|
||||
import de.sebse.fuplanner.services.KVV.types.AssignmentList;
|
||||
import de.sebse.fuplanner.services.KVV.types.Resource;
|
||||
import de.sebse.fuplanner.tools.AsyncQueue;
|
||||
import de.sebse.fuplanner.services.KVV.types.EventList;
|
||||
import de.sebse.fuplanner.tools.Regex;
|
||||
import de.sebse.fuplanner.tools.network.HTTPService;
|
||||
import de.sebse.fuplanner.tools.network.NetworkCallback;
|
||||
@@ -36,8 +36,6 @@ import de.sebse.fuplanner.tools.network.NetworkError;
|
||||
import de.sebse.fuplanner.tools.network.NetworkErrorCallback;
|
||||
import de.sebse.fuplanner.tools.network.Result;
|
||||
|
||||
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
||||
|
||||
/**
|
||||
* Created by sebastian on 29.10.17.
|
||||
*/
|
||||
@@ -145,7 +143,10 @@ class KVVModuleList extends HTTPService {
|
||||
}
|
||||
|
||||
public void getModule(String id, final NetworkCallback<Modules.Module> callback, final NetworkErrorCallback errorCallback, boolean forceRefresh) {
|
||||
this.getModuleList(success -> callback.onResponse(success.get(id)), errorCallback, forceRefresh);
|
||||
this.getModuleList(success -> {
|
||||
log.d("liste", success.size(), id, success.get(id));
|
||||
callback.onResponse(success.get(id));
|
||||
}, errorCallback, forceRefresh);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user