package
com.example.jhj.drawingquiz;
import
android.content.DialogInterface;
import
android.content.Intent;
import
android.support.annotation.NonNull;
import
android.support.design.widget.BottomNavigationView;
import
android.support.v7.app.AlertDialog;
import
android.support.v7.app.AppCompatActivity;
import
android.os.Bundle;
import
android.view.LayoutInflater;
import
android.view.MenuItem;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.ArrayAdapter;
import
android.widget.Button;
import
android.widget.EditText;
import
android.widget.Spinner;
import
android.widget.TextView;
import
android.widget.Toast;
import
com.example.jhj.drawingquiz.model.GameModel;
import
com.example.jhj.drawingquiz.model.UserModel;
import
com.google.firebase.auth.FirebaseAuth;
import
com.google.firebase.database.DatabaseReference;
import
com.google.firebase.database.FirebaseDatabase;
public
class
MainActivity
extends
AppCompatActivity {
private
BottomNavigationView bottomNavigationView;
ArrayAdapter<CharSequence> adspin1;
ArrayAdapter<CharSequence> adspin2;
String roomname;
String roomnumber;
String roomrank;
Button button;
TextView tv;
TextView tv2;
TextView tv3;
private
FirebaseAuth auth;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.textView);
auth = FirebaseAuth.getInstance();
tv.setText(auth.getCurrentUser().getEmail());
tv2 = (TextView) findViewById(R.id.textView2);
tv3 = (TextView) findViewById(R.id.textView3);
bottomNavigationView = (BottomNavigationView) findViewById(R.id.mainactivity_bottomnavigationview);
bottomNavigationView.setOnNavigationItemSelectedListener(
new
BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public
boolean
onNavigationItemSelected(
@NonNull
MenuItem item) {
switch
(item.getItemId()) {
case
R.id.main:
break
;
case
R.id.make_room:
final
LayoutInflater inflater = getLayoutInflater();
final
View dialogView = inflater.inflate(R.layout.custom_dialog,
null
);
final
Spinner sp1 = (Spinner) dialogView.findViewById(R.id.spinner1);
final
Spinner sp2 = (Spinner) dialogView.findViewById(R.id.spinner2);
AlertDialog.Builder builder =
new
AlertDialog.Builder(MainActivity.
this
);
builder.setTitle(
"방만들기"
);
builder.setView(dialogView);
adspin1 = ArrayAdapter.createFromResource(MainActivity.
this
, R.array.roomname, android.R.layout.simple_spinner_item);
adspin1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp1.setAdapter(adspin1);
adspin2 = ArrayAdapter.createFromResource(MainActivity.
this
, R.array.roomrank, android.R.layout.simple_spinner_item);
adspin2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp2.setAdapter(adspin2);
builder.setPositiveButton(
"방만들기"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
which) {
EditText edit_name = (EditText) dialogView.findViewById(R.id.roomname_edittext);
roomname = edit_name.getText().toString();
sp1.setOnItemSelectedListener(
new
AdapterView.OnItemSelectedListener() {
@Override
public
void
onItemSelected(AdapterView<?> parent, View view,
int
position,
long
id) {
roomnumber = sp1.getSelectedItem().toString();
Toast.makeText(MainActivity.
this
, adspin1.getItem(position)+
"를 선택했습니다."
, Toast.LENGTH_SHORT).show();
}
@Override
public
void
onNothingSelected(AdapterView<?> parent) {
}
});
sp2.setOnItemSelectedListener(
new
AdapterView.OnItemSelectedListener() {
@Override
public
void
onItemSelected(AdapterView<?> parent, View view,
int
position,
long
id) {
roomrank = sp2.getSelectedItem().toString();
Toast.makeText(MainActivity.
this
, adspin2.getItem(position)+
"를 선택했습니다."
, Toast.LENGTH_SHORT).show();
}
@Override
public
void
onNothingSelected(AdapterView<?> parent) {
}
});
GameModel gameModel =
new
GameModel();
gameModel.roomname = roomname;
gameModel.roomnumber = roomnumber;
gameModel.roomrank = roomrank;
tv2.setText(roomnumber);
tv3.setText(roomrank);
FirebaseDatabase.getInstance().getReference().child(
"gamerooms"
).push().setValue(gameModel);
}
});
builder.setNegativeButton(
"취소"
,
new
DialogInterface.OnClickListener() {
public
void
onClick(DialogInterface dialog,
int
which) {
}
});
AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(
false
);
dialog.show();
break
;
case
R.id.random_room:
Intent intent =
new
Intent(MainActivity.
this
, GameActivity.
class
);
startActivity(intent);
break
;
}
return
true
;
}
});
button = (Button) findViewById(R.id.button);
button.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View v) {
auth.signOut();
Intent intent =
new
Intent(MainActivity.
this
, LoginActivity.
class
);
startActivity(intent);
finish();
}
});
}
}