95114154a12287e1e1f09481acb3243153dba32b
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / PreferencesNewSession.java
1 package eu.alefzero.owncloud.ui.activity;
2
3 import java.net.URI;
4 import java.net.URISyntaxException;
5
6 import eu.alefzero.owncloud.authenticator.AccountAuthenticatorService;
7
8 import android.accounts.Account;
9 import android.accounts.AccountAuthenticatorActivity;
10 import android.accounts.AccountManager;
11 import android.app.Activity;
12 import android.content.Intent;
13 import android.os.Bundle;
14 import android.util.Log;
15 import android.view.View;
16 import android.view.View.OnClickListener;
17 import android.widget.Button;
18 import android.widget.EditText;
19 import android.widget.Toast;
20
21 public class PreferencesNewSession extends AccountAuthenticatorActivity implements OnClickListener {
22 private Intent mReturnData;
23 private final String TAG = "OwnCloudPreferencesNewSession";
24 @Override
25 public void onCreate(Bundle savedInstanceState){
26 super.onCreate(savedInstanceState);
27 //setContentView(R.layout.add_new_session);
28 /*
29 EditText et;// = (EditText) findViewById(R.id.newSession_sessionName);
30
31 et = (EditText) findViewById(R.id.newSession_URL);
32 if (getIntent().hasExtra("sessionURL")) {
33 try {
34 URI uri = new URI(getIntent().getStringExtra("sessionURL"));
35 String url = uri.getHost();
36 if (uri.getPort() != -1) {
37 url += ":" + String.valueOf(uri.getPort());
38 }
39 if (uri.getPath() != null) {
40 url += uri.getPath();
41 } else {
42 url += "/";
43 }
44 et.setText(url);
45 et = (EditText) findViewById(R.id.newSession_username);
46 if (uri.getAuthority() != null) {
47 if (uri.getUserInfo().indexOf(':') != -1) {
48 et.setText(uri.getUserInfo().substring(0, uri.getUserInfo().indexOf(':')));
49 et = (EditText) findViewById(R.id.newSession_password);
50 et.setText(uri.getUserInfo().substring(uri.getUserInfo().indexOf(':')+1));
51 } else {
52 et.setText(uri.getUserInfo());
53 }
54 }
55
56 } catch (URISyntaxException e) {
57 Log.e(TAG, "Incorrect URI syntax " + e.getLocalizedMessage());
58 }
59 }
60
61 mReturnData = new Intent();
62 setResult(Activity.RESULT_OK, mReturnData);
63 ((Button) findViewById(R.id.button1)).setOnClickListener(this);
64 ((Button) findViewById(R.id.button2)).setOnClickListener(this);*/
65 }
66
67 @Override
68 protected void onResume() {
69 super.onResume();
70 }
71
72 public void onClick(View v) {
73 /* switch (v.getId()) {
74 case R.id.button1:
75 Intent intent = new Intent();
76 if (getIntent().hasExtra("sessionId")) {
77 intent.putExtra("sessionId", getIntent().getIntExtra("sessionId", -1));
78 }
79 //String sessionName = ((EditText) findViewById(R.id.newSession_sessionName)).getText().toString();
80 // if (sessionName.trim().equals("") || !isNameValid(sessionName)) {
81 // Toast.makeText(this, R.string.new_session_session_name_error, Toast.LENGTH_LONG).show();
82 // break;
83 // }
84 URI uri = prepareURI();
85 if (uri != null) {
86 //intent.putExtra("sessionName", sessionName);
87 intent.putExtra("sessionURL", uri.toString());
88 setResult(Activity.RESULT_OK, intent);
89 AccountManager accMgr = AccountManager.get(this);
90 Account a = new Account("OwnCloud", AccountAuthenticatorService.ACCOUNT_TYPE);
91 accMgr.addAccountExplicitly(a, "asd", null);
92 finish();
93 }
94 break;
95 case R.id.button2:
96 setResult(Activity.RESULT_CANCELED);
97 finish();
98 break;
99 }*/
100 }
101
102 private URI prepareURI() {
103 URI uri = null;
104 /* String url = "";
105 try {
106 String username = ((EditText) findViewById(R.id.newSession_username)).getText().toString().trim();
107 String password = ((EditText) findViewById(R.id.newSession_password)).getText().toString().trim();
108 String hostname = ((EditText) findViewById(R.id.newSession_URL)).getText().toString().trim();
109 String scheme;
110 if (hostname.matches("[A-Za-z]://")) {
111 scheme = hostname.substring(0, hostname.indexOf("://")+3);
112 hostname = hostname.substring(hostname.indexOf("://")+3);
113 } else {
114 scheme = "http://";
115 }
116 if (!username.equals("")) {
117 if (!password.equals("")) {
118 username += ":" + password + "@";
119 } else {
120 username += "@";
121 }
122 }
123 url = scheme + username + hostname;
124 Log.i(TAG, url);
125 uri = new URI(url);
126 } catch (URISyntaxException e) {
127 Log.e(TAG, "Incorrect URI syntax " + e.getLocalizedMessage());
128 Toast.makeText(this, R.string.new_session_uri_error, Toast.LENGTH_LONG).show();
129 }
130 */return uri;
131 }
132
133 private boolean isNameValid(String string) {
134 return string.matches("[A-Za-z0-9 _-]*");
135 }
136
137 @Override
138 public void onBackPressed() {
139 setResult(Activity.RESULT_CANCELED);
140 super.onBackPressed();
141 }
142
143 }