Heavy refactoring: Moved UI things to UI packages
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / PreferencesNewSession.java
diff --git a/src/eu/alefzero/owncloud/ui/PreferencesNewSession.java b/src/eu/alefzero/owncloud/ui/PreferencesNewSession.java
new file mode 100644 (file)
index 0000000..9900abf
--- /dev/null
@@ -0,0 +1,143 @@
+package eu.alefzero.owncloud.ui;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+import eu.alefzero.owncloud.authenticator.AccountAuthenticatorService;
+
+import android.accounts.Account;
+import android.accounts.AccountAuthenticatorActivity;
+import android.accounts.AccountManager;
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+public class PreferencesNewSession extends AccountAuthenticatorActivity implements OnClickListener {
+  private Intent mReturnData;
+  private final String TAG = "OwnCloudPreferencesNewSession";
+  @Override
+  public void onCreate(Bundle savedInstanceState){
+    super.onCreate(savedInstanceState);
+    //setContentView(R.layout.add_new_session);
+    /*
+    EditText et;// = (EditText) findViewById(R.id.newSession_sessionName);
+    
+    et = (EditText) findViewById(R.id.newSession_URL);
+    if (getIntent().hasExtra("sessionURL")) {
+      try {
+        URI uri = new URI(getIntent().getStringExtra("sessionURL"));
+        String url = uri.getHost();
+        if (uri.getPort() != -1) {
+          url += ":" + String.valueOf(uri.getPort());
+        }
+        if (uri.getPath() != null) {
+          url += uri.getPath();
+        } else {
+          url += "/";
+        }
+        et.setText(url);
+        et = (EditText) findViewById(R.id.newSession_username);
+        if (uri.getAuthority() != null) {
+          if (uri.getUserInfo().indexOf(':') != -1) {
+            et.setText(uri.getUserInfo().substring(0, uri.getUserInfo().indexOf(':')));
+            et = (EditText) findViewById(R.id.newSession_password);
+            et.setText(uri.getUserInfo().substring(uri.getUserInfo().indexOf(':')+1));
+          } else {
+            et.setText(uri.getUserInfo());
+          }
+        }
+        
+      } catch (URISyntaxException e) {
+        Log.e(TAG, "Incorrect URI syntax " + e.getLocalizedMessage());
+      }
+    }
+    
+    mReturnData = new Intent();
+    setResult(Activity.RESULT_OK, mReturnData);
+    ((Button) findViewById(R.id.button1)).setOnClickListener(this);
+    ((Button) findViewById(R.id.button2)).setOnClickListener(this);*/
+  }
+  
+  @Override
+  protected void onResume() {
+    super.onResume();
+  }
+
+  public void onClick(View v) {
+   /* switch (v.getId()) {
+      case R.id.button1:
+        Intent intent = new Intent();
+        if (getIntent().hasExtra("sessionId")) {
+          intent.putExtra("sessionId", getIntent().getIntExtra("sessionId", -1));
+        }
+        //String sessionName = ((EditText) findViewById(R.id.newSession_sessionName)).getText().toString();
+      //  if (sessionName.trim().equals("") || !isNameValid(sessionName)) {
+     //    Toast.makeText(this, R.string.new_session_session_name_error, Toast.LENGTH_LONG).show();
+     //     break;
+       // }
+        URI uri = prepareURI();
+        if (uri != null) {
+          //intent.putExtra("sessionName", sessionName);
+          intent.putExtra("sessionURL", uri.toString());
+          setResult(Activity.RESULT_OK, intent);
+          AccountManager accMgr = AccountManager.get(this);
+          Account a = new Account("OwnCloud", AccountAuthenticatorService.ACCOUNT_TYPE);
+          accMgr.addAccountExplicitly(a, "asd", null);
+          finish();
+        }
+        break;
+      case R.id.button2:
+        setResult(Activity.RESULT_CANCELED);
+        finish();
+        break;
+    }*/
+  }
+  
+  private URI prepareURI() {
+    URI uri = null;
+   /* String url = "";
+    try {
+      String username = ((EditText) findViewById(R.id.newSession_username)).getText().toString().trim();
+      String password = ((EditText) findViewById(R.id.newSession_password)).getText().toString().trim();
+      String hostname = ((EditText) findViewById(R.id.newSession_URL)).getText().toString().trim();
+      String scheme;
+      if (hostname.matches("[A-Za-z]://")) {
+        scheme = hostname.substring(0, hostname.indexOf("://")+3);
+        hostname = hostname.substring(hostname.indexOf("://")+3);
+      } else {
+        scheme = "http://";
+      }
+      if (!username.equals("")) {
+        if (!password.equals("")) {
+          username += ":" + password + "@";
+        } else {
+          username += "@";
+        }
+      }
+      url = scheme + username + hostname;
+      Log.i(TAG, url);
+      uri = new URI(url);
+    } catch (URISyntaxException e) {
+      Log.e(TAG, "Incorrect URI syntax " + e.getLocalizedMessage());
+      Toast.makeText(this, R.string.new_session_uri_error, Toast.LENGTH_LONG).show();
+    }
+    */return uri;
+  }
+  
+  private boolean isNameValid(String string) {
+    return string.matches("[A-Za-z0-9 _-]*");
+  }
+  
+  @Override
+  public void onBackPressed() {
+    setResult(Activity.RESULT_CANCELED);
+    super.onBackPressed();
+  }
+  
+}