Android Open Source - visiting-card-android Reside Activity






From Project

Back to project page visiting-card-android.

License

The source code is released under:

GNU General Public License

If you think the Android project visiting-card-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.matrix.visitingcard;
//from w  w  w .jav  a 2 s.c  o m
import org.apache.http.Header;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.view.MotionEvent;
import android.view.View;

import com.flurry.android.FlurryAgent;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.matrix.asynchttplibrary.model.CallProperties;
import com.matrix.asynchttplibrary.util.AsyncUtil;
import com.matrix.visitingcard.constant.Constants;
import com.matrix.visitingcard.http.AsyncHttp;
import com.matrix.visitingcard.http.parser.Parser;
import com.matrix.visitingcard.logger.VLogger;
import com.matrix.visitingcard.user.User;
import com.matrix.visitingcard.util.SharedPrefs;
import com.matrix.visitingcard.util.Util;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.special.ResideMenu.ResideMenu;
import com.special.ResideMenu.ResideMenuItem;

public class ResideActivity extends FragmentActivity implements
    View.OnClickListener {

  private ResideMenu resideMenu;
  private ResideMenuItem itemHome;
  private AsyncHttp mAsyncHttp;
  private SharedPrefs sp;
  private ResideMenuItem itemMyVc;
  private ResideMenuItem itemCreateVc;
  private ResideMenuItem itemSignout;
  private ResideMenuItem itemRequestVC;
  private ResideMenuItem itemListVCR;
  private ProgressDialog pd;

  @Override
  public void onStart() {
    super.onStart();
    FlurryAgent.onStartSession(this, "C8ZJZ5PWCFZ9WFQ5QKHM");
  }

  @Override
  public void onStop() {
    super.onStop();
    FlurryAgent.onEndSession(this);
  }

  /**
   * Called when the activity is first created.
   */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    initialize();
    loadUserData();
    Util.addHeadersToUIL(this);

    setUpMenu();

    changeFragment(new AllVCFragment());
  }

  private void initialize() {
    mAsyncHttp = AsyncHttp.getNewInstance();
    sp = SharedPrefs.getInstance(this);

    pd = new ProgressDialog(ResideActivity.this);
    pd.setMessage("Please wait...");
  }

  private void showPD() {
    if (!pd.isShowing()) {
      pd.show();
    }
  }

  private void dismissPD() {
    if (pd.isShowing()) {
      pd.dismiss();
    }
  }

  private void setUpMenu() {

    // attach to current activity;
    resideMenu = new ResideMenu(this);
    resideMenu.setBackground(R.drawable.menu_background);
    resideMenu.attachToActivity(this);
    // valid scale factor is between 0.0f and 1.0f. leftmenu'width is
    // 150dip.
    resideMenu.setScaleValue(0.6f);

    // create menu items;
    itemHome = new ResideMenuItem(this, R.drawable.friend_vc_icon,
        "Received VCs");
    itemHome.setOnClickListener(this);

    itemMyVc = new ResideMenuItem(this, R.drawable.my_vcs_icon, "My VCs");
    itemMyVc.setOnClickListener(this);

    itemCreateVc = new ResideMenuItem(this, R.drawable.create_new_vc_icon,
        "Create VC");
    itemCreateVc.setOnClickListener(this);

    itemRequestVC = new ResideMenuItem(this, R.drawable.create_vcr,
        "Request VC");
    itemRequestVC.setOnClickListener(this);

    itemListVCR = new ResideMenuItem(this, R.drawable.list_vcr_icon,
        "Requests");
    itemListVCR.setOnClickListener(this);

    itemSignout = new ResideMenuItem(this, R.drawable.signout_icon,
        "Sign Out");
    itemSignout.setOnClickListener(this);

    resideMenu.addMenuItem(itemHome, ResideMenu.DIRECTION_LEFT);
    resideMenu.addMenuItem(itemMyVc, ResideMenu.DIRECTION_LEFT);
    resideMenu.addMenuItem(itemCreateVc, ResideMenu.DIRECTION_LEFT);
    resideMenu.addMenuItem(itemRequestVC, ResideMenu.DIRECTION_LEFT);
    resideMenu.addMenuItem(itemListVCR, ResideMenu.DIRECTION_LEFT);
    resideMenu.addMenuItem(itemSignout, ResideMenu.DIRECTION_LEFT);

    resideMenu.setSwipeDirectionDisable(ResideMenu.DIRECTION_RIGHT);

    findViewById(R.id.title_bar_left_menu).setOnClickListener(
        new View.OnClickListener() {
          @Override
          public void onClick(View view) {
            resideMenu.openMenu(ResideMenu.DIRECTION_LEFT);
          }
        });

  }

  @Override
  public boolean dispatchTouchEvent(MotionEvent ev) {
    return resideMenu.dispatchTouchEvent(ev);
  }

  @Override
  public void onClick(View v) {

    if (v == itemHome) {
      changeFragment(new AllVCFragment());
    } else if (v == itemMyVc) {
      changeFragment(new ListMyVCFragment());
    } else if (v == itemCreateVc) {
      changeFragment(new ListOfVCTFragment());
    } else if (v == itemRequestVC) {
      createVCR();
    } else if (v == itemListVCR) {
      changeFragment(new AllVCFragment());
      startActivity(new Intent(this, ListMyVCRActivity.class));
    } else if (v == itemSignout) {
      signout();
    }

    resideMenu.closeMenu();
  }

  private void changeFragment(Fragment targetFragment) {
    resideMenu.clearIgnoredViewList();
    getSupportFragmentManager().beginTransaction()
        .replace(R.id.main_fragment, targetFragment, "fragment")
        .setTransitionStyle(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
        .commit();
  }

  // What good method is to access resideMenu?
  public ResideMenu getResideMenu() {
    return resideMenu;
  }

  private void loadUserData() {
    showPD();
    CallProperties connectionProperties = AsyncUtil.getCallProperites(this,
        "profile", "url.properties");

    mAsyncHttp.addHeader("Cookie",
        sp.getSharedPrefsValueString(Constants.SP.SESSION_ID, null));
    ARHandlerGetProfile handler = new ARHandlerGetProfile();

    mAsyncHttp.communicate(connectionProperties, null, null, handler);
  }

  class ARHandlerGetProfile extends AsyncHttpResponseHandler {

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] content) {

      VLogger.e("Get profile ConnectionSuccessful, status code "
          + statusCode + "content "
          + (content == null ? "null" : new String(content)));
      User.setInstance(Parser.parseUser(content));
      dismissPD();
    }

    @Override
    public void onFailure(int statusCode, Header[] arg1, byte[] response,
        Throwable arg3) {
      VLogger.e("Connection Failed, status code " + statusCode
          + " response "
          + (response == null ? "null" : new String(response)));
      dismissPD();
    }

  }

  private void signout() {
    showPD();
    CallProperties connectionProperties = AsyncUtil.getCallProperites(this,
        "sign_out", "url.properties");

    mAsyncHttp.addHeader("Cookie", SharedPrefs.getInstance(this)
        .getSharedPrefsValueString(Constants.SP.SESSION_ID, null));

    ARHandlerSignout handler = new ARHandlerSignout();

    mAsyncHttp.communicate(connectionProperties, null, null, handler);

  }

  class ARHandlerSignout extends AsyncHttpResponseHandler {

    @Override
    public void onSuccess(int statusCode, Header[] headers, byte[] content) {

      VLogger.e("ConnectionSuccessful, status code " + statusCode
          + "content "
          + (content == null ? "null" : new String(content)));
      sp.destroy();
      ImageLoader.getInstance().clearDiskCache();
      ImageLoader.getInstance().clearMemoryCache();
      // TODO : clear GCM shit

      dismissPD();
      startActivity(new Intent(ResideActivity.this,
          SplashScreenActivity.class));

      finish();
    }

    @Override
    public void onFailure(int statusCode, Header[] arg1, byte[] response,
        Throwable arg3) {
      VLogger.e("Connection Failed, status code " + statusCode
          + " response "
          + (response == null ? "null" : new String(response)));
      dismissPD();
    }

  }

  private void createVCR() {
    VCRCreateDialogFragment createVCRDialogFragment = new VCRCreateDialogFragment();
    createVCRDialogFragment.show(getSupportFragmentManager(), "creat_vcr");
  }
}




Java Source Code List

android.UnusedStub.java
com.loopj.android.http.AsyncHttpClient.java
com.loopj.android.http.AsyncHttpRequest.java
com.loopj.android.http.AsyncHttpResponseHandler.java
com.loopj.android.http.Base64DataException.java
com.loopj.android.http.Base64OutputStream.java
com.loopj.android.http.Base64.java
com.loopj.android.http.BaseJsonHttpResponseHandler.java
com.loopj.android.http.BinaryHttpResponseHandler.java
com.loopj.android.http.DataAsyncHttpResponseHandler.java
com.loopj.android.http.FileAsyncHttpResponseHandler.java
com.loopj.android.http.JsonHttpResponseHandler.java
com.loopj.android.http.JsonStreamerEntity.java
com.loopj.android.http.MyRedirectHandler.java
com.loopj.android.http.MySSLSocketFactory.java
com.loopj.android.http.PersistentCookieStore.java
com.loopj.android.http.PreemtiveAuthorizationHttpRequestInterceptor.java
com.loopj.android.http.RangeFileAsyncHttpResponseHandler.java
com.loopj.android.http.RequestHandle.java
com.loopj.android.http.RequestParams.java
com.loopj.android.http.ResponseHandlerInterface.java
com.loopj.android.http.RetryHandler.java
com.loopj.android.http.SaxAsyncHttpResponseHandler.java
com.loopj.android.http.SerializableCookie.java
com.loopj.android.http.SimpleMultipartEntity.java
com.loopj.android.http.SyncHttpClient.java
com.loopj.android.http.TextHttpResponseHandler.java
com.loopj.android.http.package-info.java
com.matrix.asynchttplibrary.AsyncH.java
com.matrix.asynchttplibrary.annotation.AsyncHAnnotation.java
com.matrix.asynchttplibrary.annotation.AsyncHIgnoreParam.java
com.matrix.asynchttplibrary.logger.ALogger.java
com.matrix.asynchttplibrary.model.CallProperties.java
com.matrix.asynchttplibrary.parser.AsyncParser.java
com.matrix.asynchttplibrary.request.AsyncRequestHeader.java
com.matrix.asynchttplibrary.request.AsyncRequestParam.java
com.matrix.asynchttplibrary.response.AsyncResponseBody.java
com.matrix.asynchttplibrary.security.CustomSSLSocketFactory.java
com.matrix.asynchttplibrary.util.AsyncUtil.java
com.matrix.visitingcard.AllVCFragment.java
com.matrix.visitingcard.CreateVCActivity.java
com.matrix.visitingcard.ListMyVCFragment.java
com.matrix.visitingcard.ListMyVCRActivity.java
com.matrix.visitingcard.ListOfVCTFragment.java
com.matrix.visitingcard.ResideActivity.java
com.matrix.visitingcard.SelectVCActivity.java
com.matrix.visitingcard.ShareVCDialogFragment.java
com.matrix.visitingcard.SignUpFormActivity.java
com.matrix.visitingcard.SplashScreenActivity.java
com.matrix.visitingcard.VCRCreateDialogFragment.java
com.matrix.visitingcard.ViewVC.java
com.matrix.visitingcard.adapter.SupportArrayAdapter.java
com.matrix.visitingcard.adapter.VCAdapter.java
com.matrix.visitingcard.adapter.VCRAdapter.java
com.matrix.visitingcard.adapter.VCTAdapter.java
com.matrix.visitingcard.constant.Constants.java
com.matrix.visitingcard.gcm.GcmBroadcastReceiver.java
com.matrix.visitingcard.gcm.GcmIntentService.java
com.matrix.visitingcard.http.AsyncHttp.java
com.matrix.visitingcard.http.ProgressJSONResponseCallBack.java
com.matrix.visitingcard.http.ProgressJsonHttpResponseHandler.java
com.matrix.visitingcard.http.UIReloadCallBack.java
com.matrix.visitingcard.http.parser.Parser.java
com.matrix.visitingcard.http.request.AcceptVCRResquest.java
com.matrix.visitingcard.http.request.ShareVCResquest.java
com.matrix.visitingcard.http.request.SocialLoginRequest.java
com.matrix.visitingcard.http.response.FriendsVC.java
com.matrix.visitingcard.http.response.MyVC.java
com.matrix.visitingcard.http.response.VCR.java
com.matrix.visitingcard.http.response.VCTResponse.java
com.matrix.visitingcard.http.response.VC.java
com.matrix.visitingcard.logger.VLogger.java
com.matrix.visitingcard.user.User.java
com.matrix.visitingcard.util.CustomImageDownaloder.java
com.matrix.visitingcard.util.FileUtil.java
com.matrix.visitingcard.util.SharedPrefs.java
com.matrix.visitingcard.util.Util.java
com.matrix.visitingcard.util.VisitingCardApp.java
com.special.ResideMenu.ResideMenuItem.java
com.special.ResideMenu.ResideMenu.java
com.special.ResideMenu.TouchDisableView.java