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