Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package thyroid.com.thyroidmenu;
- import android.os.Bundle;
- import android.support.v4.app.Fragment;
- import android.support.v4.app.FragmentManager;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.util.Log;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ListView;
- public class MainActivity extends AppCompatActivity {
- private String[] mNavigationDrawerItemTitles;
- private DrawerLayout mDrawerLayout;
- private ListView mDrawerList;
- Toolbar toolbar;
- private CharSequence mDrawerTitle;
- private CharSequence mTitle;
- android.support.v7.app.ActionBarDrawerToggle mDrawerToggle;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- mTitle = mDrawerTitle = getTitle();
- mNavigationDrawerItemTitles= getResources().getStringArray(R.array.navigation_drawer_items_array);
- mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawerList = (ListView) findViewById(R.id.left_drawer);
- setupToolbar();
- DataModel[] drawerItem = new DataModel[3];
- drawerItem[0] = new DataModel(R.drawable.connect, "Connect");
- drawerItem[1] = new DataModel(R.drawable.fixtures, "Fixtures");
- drawerItem[2] = new DataModel(R.drawable.table, "Table");
- drawerItem[3] = new DataModel(R.drawable.table, "Table");
- drawerItem[4] = new DataModel(R.drawable.fixtures, "Table");
- getSupportActionBar().setDisplayHomeAsUpEnabled(false);
- getSupportActionBar().setHomeButtonEnabled(true);
- DrawerItemCustomAdapter adapter = new DrawerItemCustomAdapter(this, R.layout.list_view_item_row, drawerItem);
- mDrawerList.setAdapter(adapter);
- mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
- mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawerLayout.setDrawerListener(mDrawerToggle);
- setupDrawerToggle();
- }
- private class DrawerItemClickListener implements ListView.OnItemClickListener {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- selectItem(position);
- }
- }
- private void selectItem(int position) {
- RegisterFragment fragment = null;
- switch (position) {
- case 0:
- fragment = new ConnectFragment();
- break;
- case 1:
- fragment = new FixturesFragment();
- break;
- case 2:
- fragment = new TableFragment();
- break;
- case 3:
- fragment = new LoginFragment();
- break;
- case 4:
- fragment = new RegisterFragment();
- break;
- default:
- break;
- }
- if (fragment != null) {
- FragmentManager fragmentManager = getSupportFragmentManager();
- fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
- mDrawerList.setItemChecked(position, true);
- mDrawerList.setSelection(position);
- setTitle(mNavigationDrawerItemTitles[position]);
- mDrawerLayout.closeDrawer(mDrawerList);
- } else {
- Log.e("MainActivity", "Error in creating fragment");
- }
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (mDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- @Override
- public void setTitle(CharSequence title) {
- mTitle = title;
- getSupportActionBar().setTitle(mTitle);
- }
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- mDrawerToggle.syncState();
- }
- void setupToolbar(){
- toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- getSupportActionBar().setDisplayShowHomeEnabled(true);
- }
- void setupDrawerToggle(){
- mDrawerToggle = new android.support.v7.app.ActionBarDrawerToggle(this,mDrawerLayout,toolbar,R.string.app_name, R.string.app_name);
- //This is necessary to change the icon of the Drawer Toggle upon state change.
- mDrawerToggle.syncState();
- }
- }
- package thyroid.com.thyroidmenu;
- import android.app.Fragment;
- import android.app.FragmentTransaction;
- import android.content.SharedPreferences;
- import android.os.Bundle;
- import android.support.design.widget.Snackbar;
- import android.support.v7.widget.AppCompatButton;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.EditText;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Retrofit;
- import retrofit2.converter.gson.GsonConverterFactory;
- import thyroid.com.thyroidmenu.models.ServerRequest;
- import thyroid.com.thyroidmenu.models.ServerResponse;
- import thyroid.com.thyroidmenu.models.User;
- public class LoginFragment extends Fragment implements View.OnClickListener{
- private AppCompatButton btn_login;
- private EditText et_email,et_password;
- private TextView tv_register,tv_reset_password;
- private ProgressBar progress;
- private SharedPreferences pref;
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_login,container,false);
- initViews(view);
- return view;
- }
- private void initViews(View view){
- pref = getActivity().getPreferences(0);
- btn_login = (AppCompatButton)view.findViewById(R.id.btn_login);
- tv_register = (TextView)view.findViewById(R.id.tv_register);
- tv_reset_password = (TextView)view.findViewById(R.id.tv_reset_password);
- et_email = (EditText)view.findViewById(R.id.et_email);
- et_password = (EditText)view.findViewById(R.id.et_password);
- progress = (ProgressBar)view.findViewById(R.id.progress);
- btn_login.setOnClickListener(this);
- tv_register.setOnClickListener(this);
- tv_reset_password.setOnClickListener(this);
- }
- @Override
- public void onClick(View view) {
- switch (view.getId()){
- case R.id.tv_register:
- goToRegister();
- break;
- case R.id.btn_login:
- String email = et_email.getText().toString();
- String password = et_password.getText().toString();
- if(!email.isEmpty() && !password.isEmpty()) {
- progress.setVisibility(View.VISIBLE);
- loginProcess(email,password);
- } else {
- Snackbar.make(getView(), "Fields are empty !", Snackbar.LENGTH_LONG).show();
- }
- break;
- case R.id.tv_reset_password:
- goToResetPassword();
- break;
- }
- }
- private void loginProcess(String email,String password){
- Retrofit retrofit = new Retrofit.Builder()
- .baseUrl(Constants.BASE_URL)
- .addConverterFactory(GsonConverterFactory.create())
- .build();
- RequestInterface requestInterface = retrofit.create(RequestInterface.class);
- User user = new User();
- user.setEmail(email);
- user.setPassword(password);
- ServerRequest request = new ServerRequest();
- request.setOperation(Constants.LOGIN_OPERATION);
- request.setUser(user);
- Call<ServerResponse> response = requestInterface.operation(request);
- response.enqueue(new Callback<ServerResponse>() {
- @Override
- public void onResponse(Call<ServerResponse> call, retrofit2.Response<ServerResponse> response) {
- ServerResponse resp = response.body();
- Snackbar.make(getView(), resp.getMessage(), Snackbar.LENGTH_LONG).show();
- if(resp.getResult().equals(Constants.SUCCESS)){
- SharedPreferences.Editor editor = pref.edit();
- editor.putBoolean(Constants.IS_LOGGED_IN,true);
- editor.putString(Constants.EMAIL,resp.getUser().getEmail());
- editor.putString(Constants.NAME,resp.getUser().getName());
- editor.putString(Constants.UNIQUE_ID,resp.getUser().getUnique_id());
- editor.apply();
- goToProfile();
- }
- progress.setVisibility(View.INVISIBLE);
- }
- @Override
- public void onFailure(Call<ServerResponse> call, Throwable t) {
- progress.setVisibility(View.INVISIBLE);
- Log.d(Constants.TAG,"failed");
- Snackbar.make(getView(), t.getLocalizedMessage(), Snackbar.LENGTH_LONG).show();
- }
- });
- }
- private void goToResetPassword(){
- Fragment reset = new ResetPasswordFragment();
- FragmentTransaction ft = getFragmentManager().beginTransaction();
- ft.replace(R.id.fragment_frame,reset);
- ft.commit();
- }
- private void goToRegister(){
- Fragment register = new RegisterFragment();
- FragmentTransaction ft = getFragmentManager().beginTransaction();
- ft.replace(R.id.fragment_frame,register);
- ft.commit();
- }
- private void goToProfile(){
- Fragment profile = new ProfileFragment();
- FragmentTransaction ft = getFragmentManager().beginTransaction();
- ft.replace(R.id.fragment_frame,profile);
- ft.commit();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement