82 lines
3.1 KiB
Java
82 lines
3.1 KiB
Java
package org.torproject.android.ui.hiddenservices.dialogs;
|
|
|
|
import android.app.Dialog;
|
|
import android.content.ClipData;
|
|
import android.content.ClipboardManager;
|
|
import android.content.Context;
|
|
import android.os.Bundle;
|
|
import android.support.annotation.NonNull;
|
|
import android.support.v4.app.DialogFragment;
|
|
import android.support.v7.app.AlertDialog;
|
|
import android.view.View;
|
|
import android.widget.Button;
|
|
import android.widget.TextView;
|
|
import android.widget.Toast;
|
|
|
|
import com.google.zxing.integration.android.IntentIntegrator;
|
|
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
import org.torproject.android.R;
|
|
import org.torproject.android.ui.hiddenservices.providers.CookieContentProvider;
|
|
|
|
public class HSCookieDialog extends DialogFragment {
|
|
|
|
@NonNull
|
|
@Override
|
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
|
final View dialog_view = getActivity().getLayoutInflater().inflate(R.layout.layout_hs_cookie, null);
|
|
|
|
final Bundle arguments = getArguments();
|
|
final String auth_cookie_value = arguments.getString("auth_cookie_value");
|
|
|
|
final AlertDialog cookieDialog = new AlertDialog.Builder(getActivity())
|
|
.setView(dialog_view)
|
|
.create();
|
|
|
|
TextView cookie = (TextView) dialog_view.findViewById(R.id.hs_cookie);
|
|
cookie.setText(auth_cookie_value);
|
|
|
|
Button clipboard = (Button) dialog_view.findViewById(R.id.hs_cookie_to_clipboard);
|
|
clipboard.setOnClickListener(new View.OnClickListener() {
|
|
public void onClick(View v) {
|
|
Context mContext = v.getContext();
|
|
ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(Context.CLIPBOARD_SERVICE);
|
|
ClipData clip = ClipData.newPlainText("cookie", auth_cookie_value);
|
|
clipboard.setPrimaryClip(clip);
|
|
Toast.makeText(mContext, R.string.done, Toast.LENGTH_LONG).show();
|
|
cookieDialog.dismiss();
|
|
}
|
|
});
|
|
|
|
Button shareQR = (Button) dialog_view.findViewById(R.id.hs_cookie_to_qr);
|
|
shareQR.setOnClickListener(new View.OnClickListener() {
|
|
public void onClick(View v) {
|
|
try {
|
|
JSONObject backup = new JSONObject();
|
|
backup.put(CookieContentProvider.ClientCookie.DOMAIN, arguments.getString("onion"));
|
|
backup.put(CookieContentProvider.ClientCookie.AUTH_COOKIE_VALUE, arguments.getString("auth_cookie_value"));
|
|
|
|
IntentIntegrator integrator = new IntentIntegrator(getActivity());
|
|
integrator.shareText(backup.toString());
|
|
|
|
} catch (JSONException e) {
|
|
// TODO Auto-generated catch block
|
|
e.printStackTrace();
|
|
}
|
|
|
|
cookieDialog.dismiss();
|
|
}
|
|
});
|
|
|
|
Button cancel = (Button) dialog_view.findViewById(R.id.hs_cookie_cancel);
|
|
cancel.setOnClickListener(new View.OnClickListener() {
|
|
public void onClick(View v) {
|
|
cookieDialog.dismiss();
|
|
}
|
|
});
|
|
|
|
return cookieDialog;
|
|
}
|
|
}
|