Android Open Source - Udacity-Android-Course Sunshine Authenticator






From Project

Back to project page Udacity-Android-Course.

License

The source code is released under:

MIT License

If you think the Android project Udacity-Android-Course 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.example.assafg.sunshine.app.sync;
/*from ww w  .  ja  v  a2  s .  com*/
import android.accounts.AbstractAccountAuthenticator;
import android.accounts.Account;
import android.accounts.AccountAuthenticatorResponse;
import android.accounts.NetworkErrorException;
import android.content.Context;
import android.os.Bundle;

/**
 * Manages "Authentication" to Sunshine's backend service.  The SyncAdapter framework
 * requires an authenticator object, so syncing to a service that doesn't need authentication
 * typically means creating a stub authenticator like this one.
 * This code is copied directly, in its entirety, from
 * http://developer.android.com/training/sync-adapters/creating-authenticator.html
 * Which is a pretty handy reference when creating your own syncadapters.  Just sayin'.
 */
public class SunshineAuthenticator extends AbstractAccountAuthenticator {

  public SunshineAuthenticator(Context context) {
    super(context);
  }

  // No properties to edit.
  @Override
  public Bundle editProperties(
      AccountAuthenticatorResponse r, String s) {
    throw new UnsupportedOperationException();
  }

  // Because we're not actually adding an account to the device, just return null.
  @Override
  public Bundle addAccount(
      AccountAuthenticatorResponse r,
      String s,
      String s2,
      String[] strings,
      Bundle bundle) throws NetworkErrorException {
    return null;
  }

  // Ignore attempts to confirm credentials
  @Override
  public Bundle confirmCredentials(
      AccountAuthenticatorResponse r,
      Account account,
      Bundle bundle) throws NetworkErrorException {
    return null;
  }

  // Getting an authentication token is not supported
  @Override
  public Bundle getAuthToken(
      AccountAuthenticatorResponse r,
      Account account,
      String s,
      Bundle bundle) throws NetworkErrorException {
    throw new UnsupportedOperationException();
  }

  // Getting a label for the auth token is not supported
  @Override
  public String getAuthTokenLabel(String s) {
    throw new UnsupportedOperationException();
  }

  // Updating user credentials is not supported
  @Override
  public Bundle updateCredentials(
      AccountAuthenticatorResponse r,
      Account account,
      String s, Bundle bundle) throws NetworkErrorException {
    throw new UnsupportedOperationException();
  }

  // Checking features for the account is not supported
  @Override
  public Bundle hasFeatures(
      AccountAuthenticatorResponse r,
      Account account, String[] strings) throws NetworkErrorException {
    throw new UnsupportedOperationException();
  }
}




Java Source Code List

com.example.assafg.sunshine.app.ApplicationTest.java
com.example.assafg.sunshine.app.DetailActivity.java
com.example.assafg.sunshine.app.DetailsFragment.java
com.example.assafg.sunshine.app.ForecastAdapter.java
com.example.assafg.sunshine.app.ForecastFragment.java
com.example.assafg.sunshine.app.MainActivity.java
com.example.assafg.sunshine.app.SettingsActivity.java
com.example.assafg.sunshine.app.Utility.Utility.java
com.example.assafg.sunshine.app.data.WeatherContract.java
com.example.assafg.sunshine.app.data.WeatherDbHelper.java
com.example.assafg.sunshine.app.data.WeatherProvider.java
com.example.assafg.sunshine.app.sync.SunshineAuthenticatorService.java
com.example.assafg.sunshine.app.sync.SunshineAuthenticator.java
com.example.assafg.sunshine.app.sync.SunshineSyncAdapter.java
com.example.assafg.sunshine.app.sync.SunshineSyncService.java