Notification improvements #1175
2 changed files with 19 additions and 10 deletions
|
@ -2781,14 +2781,11 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
|
|||
}
|
||||
|
||||
private Fragment getCurrentFragment() {
|
||||
int backCount = getSupportFragmentManager().getBackStackEntryCount();
|
||||
if (backCount > 0) {
|
||||
try {
|
||||
return getSupportFragmentManager().getFragments().get(backCount - 1);
|
||||
} catch (IndexOutOfBoundsException ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
List<Fragment> fragmentList = getSupportFragmentManager().getFragments();
|
||||
|
||||
if (fragmentList.size() > 0)
|
||||
return fragmentList.get(fragmentList.size() - 1);
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -3495,6 +3492,18 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener
|
|||
return;
|
||||
}
|
||||
|
||||
if (currentFragment != null && ((BaseFragment) currentFragment).getParams() != null
|
||||
&& ((BaseFragment) currentFragment).getParams().containsKey("source")
|
||||
&& ((BaseFragment) currentFragment).getParams().get("source").equals("notification")) {
|
||||
|
||||
Map<String, Object> currentParams = new HashMap<>(1);
|
||||
|
||||
if (((BaseFragment) currentFragment).getParams().containsKey("url"))
|
||||
currentParams.put("url", ((BaseFragment) currentFragment).getParams().get("url"));
|
||||
|
||||
((BaseFragment) currentFragment).setParams(currentParams);
|
||||
}
|
||||
|
||||
//fragment.setRetainInstance(true);
|
||||
FragmentManager manager = getSupportFragmentManager();
|
||||
FragmentTransaction transaction = manager.beginTransaction().replace(R.id.content_main, fragment);
|
||||
|
|
|
@ -64,7 +64,7 @@ public class BaseFragment extends Fragment {
|
|||
}
|
||||
}
|
||||
|
||||
if (params != null && params.containsKey("source") && "notification".equalsIgnoreCase(params.get("source").toString())) {
|
||||
if (params != null && params.containsKey("source") && params.get("source") != null && "notification".equalsIgnoreCase(params.get("source").toString())) {
|
||||
Context context = getContext();
|
||||
if (context instanceof MainActivity) {
|
||||
((MainActivity) context).navigateBackToNotifications();
|
||||
|
|
Loading…
Reference in a new issue