1 package com
.owncloud
.android
.ui
.activity
;
3 import android
.accounts
.AccountAuthenticatorActivity
;
4 import android
.app
.Activity
;
5 import android
.os
.Bundle
;
6 import android
.view
.View
;
7 import android
.view
.View
.OnClickListener
;
9 public class PreferencesNewSession
extends AccountAuthenticatorActivity
10 implements OnClickListener
{
12 public void onCreate(Bundle savedInstanceState
) {
13 super.onCreate(savedInstanceState
);
14 // setContentView(R.layout.add_new_session);
16 * EditText et;// = (EditText)
17 * findViewById(R.id.newSession_sessionName);
19 * et = (EditText) findViewById(R.id.newSession_URL); if
20 * (getIntent().hasExtra("sessionURL")) { try { URI uri = new
21 * URI(getIntent().getStringExtra("sessionURL")); String url =
22 * uri.getHost(); if (uri.getPort() != -1) { url += ":" +
23 * String.valueOf(uri.getPort()); } if (uri.getPath() != null) { url +=
24 * uri.getPath(); } else { url += "/"; } et.setText(url); et =
25 * (EditText) findViewById(R.id.newSession_username); if
26 * (uri.getAuthority() != null) { if (uri.getUserInfo().indexOf(':') !=
27 * -1) { et.setText(uri.getUserInfo().substring(0,
28 * uri.getUserInfo().indexOf(':'))); et = (EditText)
29 * findViewById(R.id.newSession_password);
30 * et.setText(uri.getUserInfo().substring
31 * (uri.getUserInfo().indexOf(':')+1)); } else {
32 * et.setText(uri.getUserInfo()); } }
34 * } catch (URISyntaxException e) { Log.e(TAG, "Incorrect URI syntax " +
35 * e.getLocalizedMessage()); } }
37 * mReturnData = new Intent(); setResult(Activity.RESULT_OK,
38 * mReturnData); ((Button)
39 * findViewById(R.id.button1)).setOnClickListener(this); ((Button)
40 * findViewById(R.id.button2)).setOnClickListener(this);
45 protected void onResume() {
49 public void onClick(View v
) {
51 * switch (v.getId()) { case R.id.button1: Intent intent = new Intent();
52 * if (getIntent().hasExtra("sessionId")) { intent.putExtra("sessionId",
53 * getIntent().getIntExtra("sessionId", -1)); } //String sessionName =
55 * findViewById(R.id.newSession_sessionName)).getText().toString(); //
56 * if (sessionName.trim().equals("") || !isNameValid(sessionName)) { //
57 * Toast.makeText(this, R.string.new_session_session_name_error,
58 * Toast.LENGTH_LONG).show(); // break; // } URI uri = prepareURI(); if
59 * (uri != null) { //intent.putExtra("sessionName", sessionName);
60 * intent.putExtra("sessionURL", uri.toString());
61 * setResult(Activity.RESULT_OK, intent); AccountManager accMgr =
62 * AccountManager.get(this); Account a = new Account("OwnCloud",
63 * AccountAuthenticatorService.ACCOUNT_TYPE);
64 * accMgr.addAccountExplicitly(a, "asd", null); finish(); } break; case
65 * R.id.button2: setResult(Activity.RESULT_CANCELED); finish(); break; }
70 * private URI prepareURI() { URI uri = null; String url = ""; try { String
71 * username = ((EditText)
72 * findViewById(R.id.newSession_username)).getText().toString().trim();
73 * String password = ((EditText)
74 * findViewById(R.id.newSession_password)).getText().toString().trim();
75 * String hostname = ((EditText)
76 * findViewById(R.id.newSession_URL)).getText().toString().trim(); String
77 * scheme; if (hostname.matches("[A-Za-z]://")) { scheme =
78 * hostname.substring(0, hostname.indexOf("://")+3); hostname =
79 * hostname.substring(hostname.indexOf("://")+3); } else { scheme =
80 * "http://"; } if (!username.equals("")) { if (!password.equals("")) {
81 * username += ":" + password + "@"; } else { username += "@"; } } url =
82 * scheme + username + hostname; Log.i(TAG, url); uri = new URI(url); }
83 * catch (URISyntaxException e) { Log.e(TAG, "Incorrect URI syntax " +
84 * e.getLocalizedMessage()); Toast.makeText(this,
85 * R.string.new_session_uri_error, Toast.LENGTH_LONG).show(); } return uri;
88 * private boolean isNameValid(String string) { return
89 * string.matches("[A-Za-z0-9 _-]*"); }
93 public void onBackPressed() {
94 setResult(Activity
.RESULT_CANCELED
);
95 super.onBackPressed();