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