Skip to content

Commit

Permalink
fix fragment crashes
Browse files Browse the repository at this point in the history
  • Loading branch information
ChangMinPark-UB committed Aug 30, 2018
1 parent eb19644 commit b17bfe7
Show file tree
Hide file tree
Showing 7 changed files with 143 additions and 54 deletions.
Binary file modified v_regular/Mocket/.idea/caches/build_file_checksums.ser
Binary file not shown.
3 changes: 2 additions & 1 deletion v_regular/Mocket/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ dependencies {
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-auth:16.0.3'
implementation 'com.google.android.gms:play-services-auth:15.0.1'
// implementation 'com.google.firebase:firebase-admin:6.3.0'
implementation 'com.google.firebase:firebase-core:16.0.1'
// implementation 'com.google.firebase:firebase-admin:6.3.0'


testImplementation 'junit:junit:4.12'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
Expand All @@ -23,6 +24,7 @@
import com.google.firebase.database.ValueEventListener;
import com.rms.mocket.R;
import com.rms.mocket.common.AlarmReceiver;
import com.rms.mocket.common.Utils;
import com.rms.mocket.fragments.GraphFragment;
import com.rms.mocket.fragments.MemoryFragment;
import com.rms.mocket.fragments.MoreFragment;
Expand All @@ -35,10 +37,20 @@
public class MainActivity extends AppCompatActivity {

private static final String ID_KEY = "android_id";
String previous_fragment = "memory";

final String MEMORY_FRAGMENT_TAG = "memory";
final String QUIZ_FRAGMENT_TAG = "quiz";
final String GRAPH_FRAGMENT_TAG = "graph";
final String MORE_FRAGMENT_TAG = "more";

String previous_fragment = MEMORY_FRAGMENT_TAG;
Fragment memory_fragment;
Fragment quiz_fragment;
Fragment graph_fragment;
Fragment more_fragment;

FragmentTransaction fragment_transaction;
FragmentManager fragment_manager;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -48,18 +60,35 @@ protected void onCreate(Bundle savedInstanceState) {
this.setSupportActionBar(myToolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);

Fragment selectedFragment = new MemoryFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.MAIN_frameLayout_content,
selectedFragment).commit();
memory_fragment = new MemoryFragment();
quiz_fragment = new QuizFragment();
graph_fragment = new GraphFragment();
more_fragment = new MoreFragment();

memory_fragment.onCreate(savedInstanceState);
quiz_fragment.onCreate(savedInstanceState);
graph_fragment.onCreate(savedInstanceState);
more_fragment.onCreate(savedInstanceState);

fragment_transaction = getSupportFragmentManager().beginTransaction();
fragment_manager = getSupportFragmentManager();

this.setFragments();
this.syncLocalDatabaseWithServerDatabase();

startAlarm(this);

}

public void setFragments(){
fragment_manager.beginTransaction().add(R.id.MAIN_frameLayout_content,
memory_fragment,MEMORY_FRAGMENT_TAG).commit();
fragment_transaction.addToBackStack(MEMORY_FRAGMENT_TAG);
}

/* OnClick: when a category is clicked. */
public void categoryClicked(View v) { ImageView imageView_memory = (ImageView) findViewById(R.id.MAIN_imageView_memory);
public void categoryClicked(View v) {
ImageView imageView_memory = (ImageView) findViewById(R.id.MAIN_imageView_memory);
ImageView imageView_quiz = (ImageView) findViewById(R.id.MAIN_imageView_quiz);
ImageView imageView_graph = (ImageView) findViewById(R.id.MAIN_imageView_graph);
ImageView imageView_more = (ImageView) findViewById(R.id.MAIN_imageView_more);
Expand Down Expand Up @@ -91,28 +120,37 @@ protected void onCreate(Bundle savedInstanceState) {

v.setBackgroundResource(R.drawable.bottom_border);

Fragment selectedFragment = null;
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

switch (v.getId()) {


case R.id.MAIN_relativeLayout_memory:
Glide.with(this) // Activity or Fragment
.load(R.drawable.clicked_memory_icon)
.into(imageView_memory);
// imageView_memory.setImageResource(R.drawable.clicked_memory_icon);
selectedFragment = new MemoryFragment();

if(previous_fragment.equals(MEMORY_FRAGMENT_TAG)) return;

switch (previous_fragment) {
case "memory":
case MEMORY_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MEMORY_FRAGMENT_TAG)).commit();
break;
case QUIZ_FRAGMENT_TAG:
Utils.log(fragment_manager.getFragments().toString());
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(QUIZ_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
break;
case GRAPH_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(GRAPH_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
break;
default:
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
case MORE_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MORE_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
break;


}
previous_fragment = "memory";
previous_fragment = MEMORY_FRAGMENT_TAG;


break;
Expand All @@ -121,76 +159,120 @@ protected void onCreate(Bundle savedInstanceState) {
Glide.with(this) // Activity or Fragment
.load(R.drawable.clicked_quiz_icon)
.into(imageView_quiz);
// imageView_quiz.setImageResource(R.drawable.clicked_quiz_icon);
selectedFragment = new QuizFragment();

if(previous_fragment.equals(QUIZ_FRAGMENT_TAG)) return;

switch (previous_fragment) {
case "memory":
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
case MEMORY_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MEMORY_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
break;
case "quiz":
case QUIZ_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(QUIZ_FRAGMENT_TAG)).commit();
break;
case "graph":
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
case GRAPH_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(GRAPH_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
break;
case "more":
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
case MORE_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MORE_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
break;

}
previous_fragment = "quiz";
previous_fragment = QUIZ_FRAGMENT_TAG;

break;

case R.id.MAIN_relativeLayout_graph:
Glide.with(this) // Activity or Fragment
.load(R.drawable.clicked_graph_icon)
.into(imageView_graph);
// imageView_graph.setImageResource(R.drawable.clicked_graph_icon);
selectedFragment = new GraphFragment();
if(previous_fragment.equals(GRAPH_FRAGMENT_TAG)) return;

switch (previous_fragment) {
case "memory":
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
case MEMORY_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MEMORY_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
break;
case "quiz":
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
case QUIZ_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(QUIZ_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
break;
case "graph":
case GRAPH_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(GRAPH_FRAGMENT_TAG)).commit();
break;
case "more":
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
case MORE_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MORE_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
break;

}
previous_fragment = "graph";
previous_fragment = GRAPH_FRAGMENT_TAG;

break;

case R.id.MAIN_relativeLayout_more:

Glide.with(this) // Activity or Fragment
.load(R.drawable.clicked_more_icon)
.into(imageView_more);
// imageView_more.setImageResource(R.drawable.clicked_more_icon);
selectedFragment = new MoreFragment();
if(previous_fragment.equals(MORE_FRAGMENT_TAG)) return;

switch (previous_fragment) {

case "more":
case MEMORY_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MEMORY_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
break;
case QUIZ_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(QUIZ_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
break;
default:
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
case GRAPH_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(GRAPH_FRAGMENT_TAG)).commit();
fragment_manager.beginTransaction().setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
break;
case MORE_FRAGMENT_TAG:
fragment_manager.beginTransaction().hide(fragment_manager.findFragmentByTag(MORE_FRAGMENT_TAG)).commit();
break;

}
previous_fragment = "more";
previous_fragment = MORE_FRAGMENT_TAG;

break;


}

transaction.replace(R.id.MAIN_frameLayout_content, selectedFragment).commit();
Fragment fragment = fragment_manager.findFragmentByTag(previous_fragment);
if(fragment == null){
switch(previous_fragment){
case MEMORY_FRAGMENT_TAG:
fragment_manager.beginTransaction().add(R.id.MAIN_frameLayout_content,
memory_fragment,previous_fragment).commit();
fragment_manager.beginTransaction().addToBackStack(MEMORY_FRAGMENT_TAG);
break;
case QUIZ_FRAGMENT_TAG:
fragment_manager.beginTransaction().add(R.id.MAIN_frameLayout_content,
quiz_fragment,previous_fragment).commit();
fragment_manager.beginTransaction().addToBackStack(QUIZ_FRAGMENT_TAG);
break;
case GRAPH_FRAGMENT_TAG:
fragment_manager.beginTransaction().add(R.id.MAIN_frameLayout_content,
graph_fragment,previous_fragment).commit();
fragment_manager.beginTransaction().addToBackStack(GRAPH_FRAGMENT_TAG);
break;
case MORE_FRAGMENT_TAG:
fragment_manager.beginTransaction().add(R.id.MAIN_frameLayout_content,
more_fragment,previous_fragment).commit();
fragment_manager.beginTransaction().addToBackStack(MORE_FRAGMENT_TAG);
break;
}

}else{
fragment_manager.beginTransaction().show(fragment).commit();
}

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c


/* Display total term count in database. */
mTermDatabase.child(user_id).addListenerForSingleValueEvent(new ValueEventListener() {
mTermDatabase.child(user_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

Expand All @@ -131,6 +131,8 @@ public void onCancelled(@NonNull DatabaseError databaseError) {
this.setTimeButtonListener();
this.setExpandButtonListener();
this.setSearchViewListener();
this.setGraph(TYPE_WEEK);
Utils.log("Graph.onCreate()");

return rootView;
}
Expand Down Expand Up @@ -160,7 +162,7 @@ public void onResume() {
button_year.setPaintFlags(0);
button_week.setPaintFlags(button_week.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);

this.setGraph(TYPE_WEEK);
Utils.log("Graph.onResume()");

}

Expand Down Expand Up @@ -239,7 +241,7 @@ public String getFormattedValue(float value, AxisBase axis) {


/* Update Term data */
mTermDatabase.child(user_id).addListenerForSingleValueEvent(new ValueEventListener() {
mTermDatabase.child(user_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (FirebaseAuth.getInstance().getCurrentUser() == null) return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,8 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
this.setSpeakButtonListener();

this.setSearchViewListener();

this.updateTermList();
Utils.log("Memory.onCreate()");
return rootView;
}

Expand Down Expand Up @@ -292,7 +293,7 @@ public void onClick(View view) {

FirebaseHandlerTerm.addTerm(term, definition);

updateTermList();
// updateTermList();

clearTexts();
}
Expand Down Expand Up @@ -357,7 +358,7 @@ public void clearTexts(){

public void updateTermList(){

mTermDatabase.child(user_id).addListenerForSingleValueEvent(new ValueEventListener() {
mTermDatabase.child(user_id).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

Expand Down Expand Up @@ -508,7 +509,7 @@ public void onClick(View view) {

dialog.dismiss();

updateTermList();
// updateTermList();

VibratorUtils.vibrateAlert(rootView.getContext());
Toast.makeText(getContext(), "Saved.", Toast.LENGTH_LONG).show();
Expand All @@ -534,7 +535,7 @@ public void onClick(View view) {

KeyboardUtils.hideKeyboard(getActivity());
dialog.dismiss();
updateTermList();
// updateTermList();
VibratorUtils.vibrateAlert(rootView.getContext());
Toast.makeText(getContext(), "Deleted.", Toast.LENGTH_LONG).show();
}
Expand Down Expand Up @@ -625,8 +626,7 @@ public void onResume() {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}

this.updateTermList();
Utils.log("Memory.onResume()");

}

Expand All @@ -637,5 +637,6 @@ public void onPause(){
tts.shutdown();
}
super.onPause();
Utils.log("Memory.onPause()");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup c
this.setSaveButtonListener();
this.initialSetting();


Utils.log("More.onCreate()");

return rootView;
}
Expand All @@ -104,7 +104,7 @@ public void onResume() {
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}

Utils.log("More.onResume()");

}

Expand Down
Loading

0 comments on commit b17bfe7

Please sign in to comment.