/*
* Лицензионное соглашение на использование набора средств разработки
* «SDK Яндекс.Диска» доступно по адресу: http://legal.yandex.ru/sdk_agreement
*
*/
package com.yandex.disk.client;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.Base64;
import org.apache.http.message.AbstractHttpMessage;
public class Credentials implements Parcelable {
private String user, token;
private String name, password;
private String authBase;
public Credentials(String user, String token, String name, String password) {
this.user = user;
this.token = token;
this.name = name;
this.password = password;
if (name != null && password != null) {
this.authBase = Base64.encodeToString((name + ":" + password).getBytes(), Base64.NO_WRAP);
}
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getToken() {
return token;
}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
public void setToken(String token) {
this.token = token;
}
public void addAuthHeader(AbstractHttpMessage req) {
if (authBase == null) {
req.addHeader("X-Yandex-SDK-Version", "android, 1.0");
req.addHeader("Authorization", "OAuth " + token);
} else {
req.addHeader("Authorization", "Basic " + authBase);
}
}
public static final Parcelable.Creator<Credentials> CREATOR = new Parcelable.Creator<Credentials>() {
public Credentials createFromParcel(Parcel parcel) {
return new Credentials(parcel.readString(), parcel.readString(), parcel.readString(), parcel.readString());
}
public Credentials[] newArray(int size) {
return new Credentials[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeString(user);
parcel.writeString(token);
parcel.writeString(name);
parcel.writeString(password);
}
}