Save Instance State more precise
This commit is contained in:
@@ -204,8 +204,14 @@ public class MainActivity extends AppCompatActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onSaveInstanceState(Bundle savedInstanceState) {
|
protected void onSaveInstanceState(Bundle savedInstanceState) {
|
||||||
|
Fragment fragment = mFragmentManager.findFragmentByTag(String.valueOf(fragmentPage));
|
||||||
savedInstanceState.putInt(ARG_FRAGMENT_PAGE, fragmentPage);
|
savedInstanceState.putInt(ARG_FRAGMENT_PAGE, fragmentPage);
|
||||||
savedInstanceState.putString(ARG_FRAGMENT_STATUS, fragmentData);
|
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);
|
super.onSaveInstanceState(savedInstanceState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,11 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
|||||||
public static Fragment newInstance(String itemPosition) {
|
public static Fragment newInstance(String itemPosition) {
|
||||||
ModDetailFragment fragment = new ModDetailFragment();
|
ModDetailFragment fragment = new ModDetailFragment();
|
||||||
Bundle args = new Bundle();
|
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);
|
fragment.setArguments(args);
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
@@ -57,8 +61,15 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
|||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
log.d("load instance");
|
log.d("load instance");
|
||||||
if (getArguments() != null) {
|
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) {
|
if (mListener != null) {
|
||||||
mListener.onTitleTextChange(R.string.courses);
|
mListener.onTitleTextChange(R.string.courses);
|
||||||
@@ -79,6 +90,8 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
|||||||
mViewPager = v.findViewById(R.id.vpPager);
|
mViewPager = v.findViewById(R.id.vpPager);
|
||||||
ModDetailAdapter adapterViewPager = new ModDetailAdapter(getChildFragmentManager(), mItemPos, getContext());
|
ModDetailAdapter adapterViewPager = new ModDetailAdapter(getChildFragmentManager(), mItemPos, getContext());
|
||||||
mViewPager.setAdapter(adapterViewPager);
|
mViewPager.setAdapter(adapterViewPager);
|
||||||
|
if (mPageRestoreRequest != null)
|
||||||
|
mViewPager.setCurrentItem(Integer.parseInt(mPageRestoreRequest));
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,4 +116,8 @@ public class ModDetailFragment extends Fragment implements ModDetailListener {
|
|||||||
public void gotoFragmentPart(int part, int index) {
|
public void gotoFragmentPart(int part, int index) {
|
||||||
mViewPager.setCurrentItem(ModulePart.getPageByPart(part), true);
|
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.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import com.ms.square.android.expandabletextview.ExpandableTextView;
|
import com.ms.square.android.expandabletextview.ExpandableTextView;
|
||||||
|
|
||||||
|
|||||||
@@ -86,6 +86,7 @@ public class ModDetailOverviewFragment extends Fragment {
|
|||||||
if (getActivity() != null) {
|
if (getActivity() != null) {
|
||||||
KVV kvv = ((MainActivity) getActivity()).getKVV();
|
KVV kvv = ((MainActivity) getActivity()).getKVV();
|
||||||
kvv.getModule(mItemPos, (Modules.Module module) -> {
|
kvv.getModule(mItemPos, (Modules.Module module) -> {
|
||||||
|
log.d("onRefresh", module);
|
||||||
adapter.setModule(module);
|
adapter.setModule(module);
|
||||||
kvv.getModuleDetails(module, pair -> {
|
kvv.getModuleDetails(module, pair -> {
|
||||||
adapter.setModule();
|
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.Announcement;
|
||||||
import de.sebse.fuplanner.services.KVV.types.Assignment;
|
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.Event;
|
||||||
|
import de.sebse.fuplanner.services.KVV.types.EventList;
|
||||||
import de.sebse.fuplanner.services.KVV.types.Gradebook;
|
import de.sebse.fuplanner.services.KVV.types.Gradebook;
|
||||||
import de.sebse.fuplanner.services.KVV.types.Lecturer;
|
import de.sebse.fuplanner.services.KVV.types.Lecturer;
|
||||||
import de.sebse.fuplanner.services.KVV.types.LoginToken;
|
import de.sebse.fuplanner.services.KVV.types.LoginToken;
|
||||||
import de.sebse.fuplanner.services.KVV.types.Modules;
|
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.services.KVV.types.Resource;
|
||||||
import de.sebse.fuplanner.tools.AsyncQueue;
|
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.Regex;
|
||||||
import de.sebse.fuplanner.tools.network.HTTPService;
|
import de.sebse.fuplanner.tools.network.HTTPService;
|
||||||
import de.sebse.fuplanner.tools.network.NetworkCallback;
|
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.NetworkErrorCallback;
|
||||||
import de.sebse.fuplanner.tools.network.Result;
|
import de.sebse.fuplanner.tools.network.Result;
|
||||||
|
|
||||||
import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by sebastian on 29.10.17.
|
* 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) {
|
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