/** * */ package fm.last.android.activity; import java.io.IOException; import fm.last.android.R; import fm.last.api.LastFmServer; import fm.last.api.LastFmServerFactory; import fm.last.api.Session; import android.accounts.AccountAuthenticatorResponse; import android.accounts.AccountManager; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.Window; import android.view.View.OnClickListener; import android.widget.Button; /** * @author sam * */ public class AccountAccessPrompt extends Activity { AccountAuthenticatorResponse response; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.account_access_prompt); response = getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE); Button yes = (Button)findViewById(R.id.yes); yes.setOnClickListener(new OnClickListener() { public void onClick(View v) { String api_key = getIntent().getStringExtra("api_key"); String api_secret = getIntent().getStringExtra("api_secret"); String user = getIntent().getStringExtra("user"); String authToken = getIntent().getStringExtra("authToken"); LastFmServer server = LastFmServerFactory.getServer("http://ws.audioscrobbler.com/2.0/", api_key, api_secret); try { Session session = server.getMobileSession(user, authToken); if(session != null) { Bundle result = new Bundle(); result.putString(AccountManager.KEY_ACCOUNT_NAME, user); result.putString(AccountManager.KEY_ACCOUNT_TYPE, getString(R.string.ACCOUNT_TYPE)); result.putString(AccountManager.KEY_AUTHTOKEN, session.getKey()); response.onResult(result); } finish(); } catch (IOException e) { e.printStackTrace(); } } }); Button no = (Button)findViewById(R.id.no); no.setOnClickListener(new OnClickListener() { public void onClick(View v) { response.onError(-1, "Permission denied"); finish(); } }); } }