Fix timeout for fragment

This commit is contained in:
J-Jamet
2018-05-28 17:54:38 +02:00
parent 5aaf2c222a
commit 31f7b0d5be
3 changed files with 35 additions and 21 deletions

View File

@@ -97,7 +97,7 @@ public class GroupActivity extends ListNodesActivity
private PwGroup oldGroupToUpdate; private PwGroup oldGroupToUpdate;
public static void launch(Activity act) { public static void launch(Activity act) {
recordFirstTimeBeforeLaunch(act); startRecordTime(act);
launch(act, (PwGroup) null); launch(act, (PwGroup) null);
} }
@@ -114,7 +114,7 @@ public class GroupActivity extends ListNodesActivity
@RequiresApi(api = Build.VERSION_CODES.O) @RequiresApi(api = Build.VERSION_CODES.O)
public static void launch(Activity act, AssistStructure assistStructure) { public static void launch(Activity act, AssistStructure assistStructure) {
if ( assistStructure != null ) { if ( assistStructure != null ) {
recordFirstTimeBeforeLaunch(act); startRecordTime(act);
launch(act, null, assistStructure); launch(act, null, assistStructure);
} else { } else {
launch(act); launch(act);

View File

@@ -185,18 +185,23 @@ public abstract class ListNodesActivity extends LockingActivity
} }
private void openGroup(PwGroup group) { private void openGroup(PwGroup group) {
ListNodesFragment newListNodeFragment = ListNodesFragment.newInstance(group.getId()); // Check Timeout
getSupportFragmentManager().beginTransaction() if (checkTimeIsAllowedOrFinish(this)) {
.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, startRecordTime(this);
R.anim.slide_in_left, R.anim.slide_out_right)
.replace(R.id.nodes_list_fragment_container, ListNodesFragment newListNodeFragment = ListNodesFragment.newInstance(group.getId());
newListNodeFragment, getSupportFragmentManager().beginTransaction()
LIST_NODES_FRAGMENT_TAG) .setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left,
.addToBackStack(LIST_NODES_FRAGMENT_TAG) R.anim.slide_in_left, R.anim.slide_out_right)
.commit(); .replace(R.id.nodes_list_fragment_container,
listNodesFragment = newListNodeFragment; newListNodeFragment,
mCurrentGroup = group; LIST_NODES_FRAGMENT_TAG)
assignToolbarElements(); .addToBackStack(LIST_NODES_FRAGMENT_TAG)
.commit();
listNodesFragment = newListNodeFragment;
mCurrentGroup = group;
assignToolbarElements();
}
} }
@Override @Override
@@ -253,12 +258,16 @@ public abstract class ListNodesActivity extends LockingActivity
@Override @Override
public void onBackPressed() { public void onBackPressed() {
super.onBackPressed(); if (checkTimeIsAllowedOrFinish(this)) {
startRecordTime(this);
listNodesFragment = (ListNodesFragment) getSupportFragmentManager().findFragmentByTag(LIST_NODES_FRAGMENT_TAG); super.onBackPressed();
// to refresh fragment
listNodesFragment.rebuildList(); listNodesFragment = (ListNodesFragment) getSupportFragmentManager().findFragmentByTag(LIST_NODES_FRAGMENT_TAG);
mCurrentGroup = listNodesFragment.getMainGroup(); // to refresh fragment
assignToolbarElements(); listNodesFragment.rebuildList();
mCurrentGroup = listNodesFragment.getMainGroup();
assignToolbarElements();
}
} }
} }

View File

@@ -44,7 +44,12 @@ public abstract class LockingActivity extends StylishActivity {
private ScreenReceiver screenReceiver; private ScreenReceiver screenReceiver;
private boolean exitLock; private boolean exitLock;
protected static void recordFirstTimeBeforeLaunch(Activity activity) {
/**
* Called to start a record time,
* Generally used for a first launch or for a fragment change
*/
protected static void startRecordTime(Activity activity) {
TimeoutHelper.recordTime(activity); TimeoutHelper.recordTime(activity);
} }