Example usage for com.google.api.client.googleapis MethodOverride MethodOverride

List of usage examples for com.google.api.client.googleapis MethodOverride MethodOverride

Introduction

In this page you can find the example usage for com.google.api.client.googleapis MethodOverride MethodOverride.

Prototype

public MethodOverride() 

Source Link

Document

Only overrides HTTP methods that the HTTP transport does not support.

Usage

From source file:com.google.android.apps.mytracks.io.SendToFusionTables.java

License:Apache License

public SendToFusionTables(Activity context, AuthManager auth, long trackId, ProgressIndicator progressIndicator,
        OnSendCompletedListener onCompletion) {
    this.context = context;
    this.auth = auth;
    this.trackId = trackId;
    this.progressIndicator = progressIndicator;
    this.onCompletion = onCompletion;
    this.stringUtils = new StringUtils(context);
    this.providerUtils = MyTracksProviderUtils.Factory.get(context);

    HttpTransport transport = ApiFeatures.getInstance().getApiAdapter().getHttpTransport();
    httpRequestFactory = transport.createRequestFactory(new MethodOverride());
}

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  av  a  2s  . co 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  .  ja  va2  s  .  co  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:org.activityinfo.service.gcs.GcsUploadService.java

License:Open Source License

private HttpResponse executeCurrentRequest(HttpRequest request) throws IOException {
    // enable GZip encoding if necessary
    // method override for non-POST verbs
    new MethodOverride().intercept(request);
    // don't throw an exception so we can let a custom Google exception be thrown
    request.setThrowExceptionOnExecuteError(false);
    // execute the request
    HttpResponse response = request.execute();
    return response;
}

From source file:org.cowboycoders.cyclisimo.endtoendtest.GoogleUtils.java

License:Open Source License

/**
 * Sends query to operate fusion tables.
 * /*  w ww .ja v a 2  s  . co  m*/
 * @param query to executed
 * @param context application context
 * @return the response of execution
 */
private static HttpResponse sendFusionTableQuery(String query, Context context) {
    try {
        String fusionTableAuthToken = AccountManager.get(context).blockingGetAuthToken(getAccount(context),
                SendFusionTablesUtils.SERVICE, false);

        GenericUrl url = new GenericUrl(SendFusionTablesAsyncTask.FUSION_TABLES_BASE_URL);
        String sql = "sql=" + query;
        ByteArrayInputStream inputStream = new ByteArrayInputStream(Strings.toBytesUtf8(sql));
        InputStreamContent inputStreamContent = new InputStreamContent(null, inputStream);
        HttpRequest request;

        request = (ApiAdapterFactory.getApiAdapter().getHttpTransport()
                .createRequestFactory(new MethodOverride())).buildPostRequest(url, inputStreamContent);

        GoogleHeaders headers = new GoogleHeaders();
        headers.setApplicationName(
                SendFusionTablesAsyncTask.APP_NAME_PREFIX + SystemUtils.getMyTracksVersion(context));
        headers.gdataVersion = SendFusionTablesAsyncTask.GDATA_VERSION;
        headers.setGoogleLogin(fusionTableAuthToken);
        headers.setContentType(SendFusionTablesAsyncTask.CONTENT_TYPE);
        request.setHeaders(headers);

        HttpResponse response;
        response = request.execute();
        return response;
    } catch (Exception e) {
        Log.d(EndToEndTestUtils.LOG_TAG, "Failed when send fusion table query.", e);
        return null;
    }
}

From source file:org.cowboycoders.cyclisimo.io.fusiontables.SendFusionTablesAsyncTask.java

License:Open Source License

public SendFusionTablesAsyncTask(SendFusionTablesActivity activity, long trackId, Account account) {
    super(activity);
    this.trackId = trackId;
    this.account = account;

    context = activity.getApplicationContext();
    myTracksProviderUtils = MyTracksProviderUtils.Factory.get(context);
    HttpTransport transport = ApiAdapterFactory.getApiAdapter().getHttpTransport();
    httpRequestFactory = transport.createRequestFactory(new MethodOverride());
}

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;//from w  w  w  .  j  a v  a 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();

    // 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.  j  av  a2  s .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();

    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
}