List of usage examples for com.google.api.client.googleapis MethodOverride intercept
public void intercept(HttpRequest request) throws IOException
From source file:com.phonegap.calendar.android.core.CalendarClientFactory.java
License:Apache License
/** * This method creates an instance of Google CalendarClient * if it does not exists, for this aim we need use the * account manager and the {@link GoogleAccountUtils} methods * in order to get the access token and fill the corresponding * init values into the new ClientCalendar instance * @param context ANdroid app context//from w w w. j ava2 s . c o m * @return CalendarClient instance with access into the google calendar account */ static public CalendarClient getInstance(Context context) { if (calendarClient == null) { transport = AndroidHttp.newCompatibleTransport(); accountManager = new GoogleAccountManager(context); settings = context.getSharedPreferences(PREF, 0); authToken = settings.getString(PREF_AUTH_TOKEN, null); if (authToken == null) { GoogleAccountUtils googleAccountsUtils = new GoogleAccountUtils(); //here you must specify the account in which you want work on if (AccountsUtils.getAccountsByType(context, "com.google").length > 0) { authToken = googleAccountsUtils.selectAccount(context, AccountsUtils.getAccountsByType(context, "com.google")[0]); } else { Log.e(TAG, "You have not any account asociated into this device"); return null; } } gsessionid = settings.getString(PREF_GSESSIONID, null); final MethodOverride override = new MethodOverride(); // needed for PATCH HttpRequestInitializer initializer = new HttpRequestInitializer() { @Override public void initialize(HttpRequest request) throws IOException { GoogleHeaders headers = new GoogleHeaders(); headers.setApplicationName("Google-CalendarAndroidSample/1.0"); headers.gdataVersion = "2"; request.headers = headers; calendarClient.initializeParser(request); request.interceptor = new HttpExecuteInterceptor() { public void intercept(HttpRequest request) throws IOException { GoogleHeaders headers = (GoogleHeaders) request.headers; headers.setGoogleLogin(authToken); request.url.set("gsessionid", gsessionid); override.intercept(request); } }; request.unsuccessfulResponseHandler = new HttpUnsuccessfulResponseHandler() { public boolean handleResponse(HttpRequest request, HttpResponse response, boolean retrySupported) { switch (response.statusCode) { case 302: GoogleUrl url = new GoogleUrl(response.headers.location); gsessionid = (String) url.getFirst("gsessionid"); SharedPreferences.Editor editor = settings.edit(); editor.putString(PREF_GSESSIONID, gsessionid); editor.commit(); return true; case 401: accountManager.invalidateAuthToken(authToken); authToken = null; SharedPreferences.Editor editor2 = settings.edit(); editor2.remove(PREF_AUTH_TOKEN); editor2.commit(); return false; } return false; } }; } }; calendarClient = new CalendarClient(transport.createRequestFactory(initializer)); } return calendarClient; }
From source file:net.rhinox.api.client.cliniccal.calendar.android.ClinicCalStartActivity.java
License:Apache License
private void createCalendarClient() { accountManager = new GoogleAccountManager(this); settings = this.getSharedPreferences(PREF, 0); authToken = settings.getString(PREF_AUTH_TOKEN, null); gsessionid = settings.getString(PREF_GSESSIONID, null); final MethodOverride override = new MethodOverride(); // needed for PATCH client = new CalendarClient(transport.createRequestFactory(new HttpRequestInitializer() { public void initialize(HttpRequest request) { GoogleHeaders headers = new GoogleHeaders(); headers.setApplicationName("ClinicCalStartActivity/1.0"); headers.gdataVersion = "2"; request.headers = headers;/*w w w . j a va 2 s . c o m*/ client.initializeParser(request); request.interceptor = new HttpExecuteInterceptor() { public void intercept(HttpRequest request) throws IOException { GoogleHeaders headers = (GoogleHeaders) request.headers; headers.setGoogleLogin(authToken); request.url.set("gsessionid", gsessionid); override.intercept(request); } }; request.unsuccessfulResponseHandler = new HttpUnsuccessfulResponseHandler() { public boolean handleResponse(HttpRequest request, HttpResponse response, boolean retrySupported) { switch (response.statusCode) { case 302: GoogleUrl url = new GoogleUrl(response.headers.location); gsessionid = (String) url.getFirst("gsessionid"); SharedPreferences.Editor editor = settings.edit(); editor.putString(PREF_GSESSIONID, gsessionid); editor.commit(); return true; case 401: accountManager.invalidateAuthToken(authToken); authToken = null; SharedPreferences.Editor editor2 = settings.edit(); editor2.remove(PREF_AUTH_TOKEN); editor2.commit(); return false; } return false; } }; } })); }
From source file:osse.android.moldhold.calendarActivity.java
License:Apache License
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); accountManager = new GoogleAccountManager(this); settings = getSharedPreferences(PREF, MODE_PRIVATE); // Try to get from preferences (will be empty at initial run) authToken = settings.getString("AUTH_TOKEN", null); gsessionid = settings.getString("GSESSION_ID", null); accountName = settings.getString("ACCOUNT_NAME", null); calendarID = settings.getString("CALENDAR_ID", null); final MethodOverride override = new MethodOverride(); // needed for PATCH client = new CalendarClient(transport.createRequestFactory(new HttpRequestInitializer() { public void initialize(HttpRequest request) { Log.d(TAG, "in new CalendarClient - initialize()"); GoogleHeaders headers = new GoogleHeaders(); headers.setApplicationName("MoldHold/1.0"); headers.gdataVersion = "2"; request.headers = headers;// w w w. j av a 2s . c om client.initializeParser(request); request.interceptor = new HttpExecuteInterceptor() { public void intercept(HttpRequest request) throws IOException { GoogleHeaders headers = (GoogleHeaders) request.headers; headers.setGoogleLogin(authToken); request.url.set("gsessionid", gsessionid); override.intercept(request); } }; // redefining unsuccessfulResponseHandler request.unsuccessfulResponseHandler = new HttpUnsuccessfulResponseHandler() { public boolean handleResponse(HttpRequest request, HttpResponse response, boolean retrySupported) { Log.d(TAG, "in new CalendarClient - handleResponse()"); switch (response.statusCode) { case 302: // found GoogleUrl url = new GoogleUrl(response.headers.location); gsessionid = (String) url.getFirst("gsessionid"); SharedPreferences.Editor editor = settings.edit(); editor.putString("GSESSION_ID", gsessionid); editor.commit(); return true; case 401: // unauthorized -> bad authToken Log.d(TAG, "401 invalid token"); accountManager.invalidateAuthToken(authToken); authToken = null; SharedPreferences.Editor editor2 = settings.edit(); editor2.remove("AUTH_TOKEN"); editor2.commit(); return false; } return false; // any other status code } }; } // end public void initialize })); // end new calendarClient Log.d(TAG, "calling gotAccount in onCreate()"); gotAccount(); Log.d(TAG, "calling executeRefreshCalendars in onCreate()"); executeRefreshCalendars(); // trying to make main UI thread wait for new authToken to be // obtained before continuing on... /* if (authToken == null) { setContentView(R.layout.status); while(authToken == null) { //Log.d(TAG, "main thread yielding..."); //Thread.yield(); // OOPS, can't do this... ; } }*/ Log.d(TAG, "checking if calendar exists..."); boolean found = checkCalendarExists(); if (found == false) { Log.d(TAG, "creating new calendar..."); createNewCalendar(); // saves calendarID to preferences } Log.d(TAG, "calendar was found, now checking cal id..."); if (calendarID == null) { Log.d(TAG, "Shit, calendarID is null... this should never happend..."); //finish(); // handle... } // Must setContentView before calling findViewById for buttons!!! setContentView(R.layout.calendar); dateDisplay = (TextView) findViewById(R.id.dateDisplay); btnOk = (Button) findViewById(R.id.btnOk); btnOk.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // add event using date EventEntry event = newEvent(); addNewEvent(event); Intent intent = new Intent(); setResult(Activity.RESULT_OK, intent); finish(); // return to mainActivity } }); btnPickDate = (Button) findViewById(R.id.btnPickDate); btnPickDate.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { showDialog(DATE_DIALOG_ID); } }); // get extras from mainActivity Bundle extras = getIntent().getExtras(); if (extras != null) { productName = extras.getString("DESCRIPTION"); shelfLife = extras.getLong("SHELF_LIFE"); } setAlarmDate(); dateDisplay.setText(new StringBuilder().append("Your ").append(productName).append(" has a shelf life of ") .append(shelfLife).append(" days. An alarm notifying you of its expiration ") .append("will be set for:\n").append(cMonth + 1).append("-") // Month is 0 based so add 1 .append(cDay).append("-").append(cYear).append(" ")); }
From source file:osse.android.moldhold.calendarSetupActivity.java
License:Apache License
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentLayout to validating... page or something?? accountManager = new GoogleAccountManager(this); settings = getSharedPreferences(PREF, MODE_PRIVATE); // Try to get from preferences (will be empty at initial run) authToken = settings.getString("AUTH_TOKEN", null); gsessionid = settings.getString("GSESSION_ID", null); accountName = settings.getString("ACCOUNT_NAME", null); final MethodOverride override = new MethodOverride(); // needed for PATCH client = new CalendarClient(transport.createRequestFactory(new HttpRequestInitializer() { public void initialize(HttpRequest request) { Log.d(TAG, "in new CalendarClient - initialize()"); GoogleHeaders headers = new GoogleHeaders(); headers.setApplicationName("MoldHold/1.0"); headers.gdataVersion = "2"; request.headers = headers;/*from w w w .ja va 2 s.c o m*/ client.initializeParser(request); request.interceptor = new HttpExecuteInterceptor() { public void intercept(HttpRequest request) throws IOException { GoogleHeaders headers = (GoogleHeaders) request.headers; headers.setGoogleLogin(authToken); request.url.set("gsessionid", gsessionid); override.intercept(request); } }; // redefining unsuccessfulResponseHandler request.unsuccessfulResponseHandler = new HttpUnsuccessfulResponseHandler() { public boolean handleResponse(HttpRequest request, HttpResponse response, boolean retrySupported) { Log.d(TAG, "in new CalendarClient - handleResponse()"); switch (response.statusCode) { case 302: // found GoogleUrl url = new GoogleUrl(response.headers.location); gsessionid = (String) url.getFirst("gsessionid"); SharedPreferences.Editor editor = settings.edit(); editor.putString("GSESSION_ID", gsessionid); editor.commit(); return true; case 401: // unauthorized -> bad authToken Log.d(TAG, "401 invalid token"); accountManager.invalidateAuthToken(authToken); authToken = null; SharedPreferences.Editor editor2 = settings.edit(); editor2.remove("AUTH_TOKEN"); editor2.commit(); return false; } return false; // any other status code } }; } // end public void initialize })); // end new calendarClient Log.d(TAG, "calling gotAccount in onCreate()"); gotAccount(); Log.d(TAG, "calling executeRefreshCalendars in onCreate()"); executeRefreshCalendars(); Log.d(TAG, "checking if calendar exists..."); if (!checkCalendarExists()) { Log.d(TAG, "creating new calendar..."); createNewCalendar(); } Log.d(TAG, "finishing..."); Intent intent = this.getIntent(); // put extras... this.setResult(RESULT_OK, intent); finish(); // return to mainActivity }