13326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana/* 23326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * Copyright (C) 2009 The Android Open Source Project 33326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * 43326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * Licensed under the Apache License, Version 2.0 (the "License"); 53326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * you may not use this file except in compliance with the License. 63326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * You may obtain a copy of the License at 73326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * 83326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * http://www.apache.org/licenses/LICENSE-2.0 93326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * 103326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * Unless required by applicable law or agreed to in writing, software 113326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * distributed under the License is distributed on an "AS IS" BASIS, 123326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * See the License for the specific language governing permissions and 143326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana * limitations under the License. 153326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana */ 163326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 173326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintanapackage android.accounts; 183326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 193326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintanaimport android.os.Bundle; 203326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintanaimport android.os.Parcel; 213326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintanaimport android.os.Parcelable; 223326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintanaimport android.os.RemoteException; 233326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 243326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana/** 255994cd2898ad3c76d1f5068137a884024f521163Fred Quintana * Used to return a response to the AccountManager. 265994cd2898ad3c76d1f5068137a884024f521163Fred Quintana * @hide 273326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana */ 283326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintanapublic class AccountManagerResponse implements Parcelable { 293326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana private IAccountManagerResponse mResponse; 303326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 319efe265f086d482802c236ae1a4ef75507efa76dFred Quintana /** @hide */ 323326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public AccountManagerResponse(IAccountManagerResponse response) { 333326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana mResponse = response; 343326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 353326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 369efe265f086d482802c236ae1a4ef75507efa76dFred Quintana /** @hide */ 373326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public AccountManagerResponse(Parcel parcel) { 383326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana mResponse = 393326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana IAccountManagerResponse.Stub.asInterface(parcel.readStrongBinder()); 403326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 413326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 423326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public void onResult(Bundle result) { 433326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana try { 443326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana mResponse.onResult(result); 453326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } catch (RemoteException e) { 463326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana // this should never happen 473326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 483326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 493326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 503326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public void onError(int errorCode, String errorMessage) { 513326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana try { 523326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana mResponse.onError(errorCode, errorMessage); 533326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } catch (RemoteException e) { 543326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana // this should never happen 553326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 563326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 573326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 589efe265f086d482802c236ae1a4ef75507efa76dFred Quintana /** @hide */ 593326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public int describeContents() { 603326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana return 0; 613326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 623326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 639efe265f086d482802c236ae1a4ef75507efa76dFred Quintana /** @hide */ 643326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public void writeToParcel(Parcel dest, int flags) { 653326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana dest.writeStrongBinder(mResponse.asBinder()); 663326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 673326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 689efe265f086d482802c236ae1a4ef75507efa76dFred Quintana /** @hide */ 693326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public static final Creator<AccountManagerResponse> CREATOR = 703326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana new Creator<AccountManagerResponse>() { 713326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public AccountManagerResponse createFromParcel(Parcel source) { 723326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana return new AccountManagerResponse(source); 733326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 743326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana 753326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana public AccountManagerResponse[] newArray(int size) { 763326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana return new AccountManagerResponse[size]; 773326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana } 783326920329cecb57c7ff1fc5c6add5c98aab9ed9Fred Quintana }; 799efe265f086d482802c236ae1a4ef75507efa76dFred Quintana} 80