You need to sign in or sign up before continuing.
Commit 38eaca6a authored by Sajal Narang's avatar Sajal Narang

Fix app crash due to improper construction of backstack

parent 26ed5475
...@@ -258,7 +258,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On ...@@ -258,7 +258,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
if (bundle == null) { if (bundle == null) {
bundle = new Bundle(); bundle = new Bundle();
} }
bundle.putString(SESSION_ID, session.pref.getString(SESSION_ID, "Error")); bundle.putString(Constants.SESSION_ID, session.pref.getString(Constants.SESSION_ID, "Error"));
fragment.setArguments(bundle); fragment.setArguments(bundle);
FragmentManager manager = getSupportFragmentManager(); FragmentManager manager = getSupportFragmentManager();
if (fragment instanceof FeedFragment) if (fragment instanceof FeedFragment)
......
package in.ac.iitb.gymkhana.iitbapp.data; package in.ac.iitb.gymkhana.iitbapp.data;
import android.arch.persistence.room.TypeConverter; import android.arch.persistence.room.TypeConverter;
import android.util.Log;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken; import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type; import java.lang.reflect.Type;
...@@ -72,7 +74,13 @@ public class Converters { ...@@ -72,7 +74,13 @@ public class Converters {
@TypeConverter @TypeConverter
public static Timestamp timestampfromString(String value) { public static Timestamp timestampfromString(String value) {
return new Gson().fromJson(value, Timestamp.class); try {
return new Gson().fromJson(value, Timestamp.class);
} catch (JsonSyntaxException e) {
Log.d("Converters", "timestampfromString: " + value);
e.printStackTrace();
return null;
}
} }
@TypeConverter @TypeConverter
......
...@@ -21,7 +21,6 @@ import java.util.List; ...@@ -21,7 +21,6 @@ import java.util.List;
import in.ac.iitb.gymkhana.iitbapp.ActivityBuffer; import in.ac.iitb.gymkhana.iitbapp.ActivityBuffer;
import in.ac.iitb.gymkhana.iitbapp.Constants; import in.ac.iitb.gymkhana.iitbapp.Constants;
import in.ac.iitb.gymkhana.iitbapp.ItemClickListener; import in.ac.iitb.gymkhana.iitbapp.ItemClickListener;
import in.ac.iitb.gymkhana.iitbapp.MainActivity;
import in.ac.iitb.gymkhana.iitbapp.R; import in.ac.iitb.gymkhana.iitbapp.R;
import in.ac.iitb.gymkhana.iitbapp.adapter.FeedAdapter; import in.ac.iitb.gymkhana.iitbapp.adapter.FeedAdapter;
import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface; import in.ac.iitb.gymkhana.iitbapp.api.RetrofitInterface;
...@@ -116,7 +115,7 @@ public class FeedFragment extends BaseFragment { ...@@ -116,7 +115,7 @@ public class FeedFragment extends BaseFragment {
} }
private void displayEvents(final List<Event> events) { private void displayEvents(final List<Event> events) {
FeedAdapter feedAdapter = new FeedAdapter(events, new ItemClickListener() { final FeedAdapter feedAdapter = new FeedAdapter(events, new ItemClickListener() {
@Override @Override
public void onItemClick(View v, int position) { public void onItemClick(View v, int position) {
String eventJson = new Gson().toJson(events.get(position)); String eventJson = new Gson().toJson(events.get(position));
...@@ -129,17 +128,16 @@ public class FeedFragment extends BaseFragment { ...@@ -129,17 +128,16 @@ public class FeedFragment extends BaseFragment {
FragmentManager manager = getActivity().getSupportFragmentManager(); FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction(); FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.framelayout_for_fragment, eventFragment, eventFragment.getTag()); transaction.replace(R.id.framelayout_for_fragment, eventFragment, eventFragment.getTag());
transaction.commit(); transaction.addToBackStack(eventFragment.getTag()).commit();
} }
}); });
getActivityBuffer().safely(new ActivityBuffer.IRunnable() { getActivityBuffer().safely(new ActivityBuffer.IRunnable() {
@Override @Override
public void run(Activity pActivity) { public void run(Activity pActivity) {
feedRecyclerView = pActivity.findViewById(R.id.feed_recycler_view); feedRecyclerView = getActivity().findViewById(R.id.feed_recycler_view);
feedRecyclerView.setAdapter(feedAdapter);
feedRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
} }
}); });
feedRecyclerView.setAdapter(feedAdapter);
feedRecyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment