/* * Copyright © 2013 – 2016 Ricki Hirner (bitfire web engineering). * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html */ package at.bitfire.davdroid.ui.setup; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import at.bitfire.davdroid.R; import at.bitfire.davdroid.ui.widget.EditPassword; public class EncryptionDetailsFragment extends Fragment { private static final String KEY_CONFIG = "config"; EditPassword editPassword = null; public static EncryptionDetailsFragment newInstance(DavResourceFinder.Configuration config) { EncryptionDetailsFragment frag = new EncryptionDetailsFragment(); Bundle args = new Bundle(1); args.putSerializable(KEY_CONFIG, config); frag.setArguments(args); return frag; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View v = inflater.inflate(R.layout.login_encryption_details, container, false); Button btnBack = (Button)v.findViewById(R.id.back); btnBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { getFragmentManager().popBackStack(); } }); final DavResourceFinder.Configuration config = (DavResourceFinder.Configuration)getArguments().getSerializable(KEY_CONFIG); TextView accountName = (TextView)v.findViewById(R.id.account_name); accountName.setText(getString(R.string.login_encryption_account_label) + " " + config.userName); editPassword = (EditPassword) v.findViewById(R.id.encryption_password); Button btnCreate = (Button)v.findViewById(R.id.create_account); btnCreate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (validateEncryptionData(config) == null) { return; } SetupEncryptionFragment.newInstance(config).show(getFragmentManager(), null); } }); return v; } private DavResourceFinder.Configuration validateEncryptionData(DavResourceFinder.Configuration config) { boolean valid = true; String password = editPassword.getText().toString(); if (password.isEmpty()) { editPassword.setError(getString(R.string.login_password_required)); valid = false; } config.rawPassword = password; return valid ? config : null; } }