From c6657ebfe0d761e4eca760d774ef3d25a7adad35 Mon Sep 17 00:00:00 2001 From: tom79 Date: Tue, 5 Nov 2019 17:55:12 +0100 Subject: [PATCH] Add more elements --- .../activities/MastodonRegisterActivity.java | 2 +- .../MastodonShareRegisterActivity.java | 3 ++- .../activities/PeertubeRegisterActivity.java | 10 ++++----- .../CreateMastodonAccountAsyncTask.java | 11 ++++++++-- .../java/app/fedilab/android/client/API.java | 2 +- .../fedilab/android/client/PeertubeAPI.java | 21 +++++++++++++++++++ .../res/layout/activity_register_peertube.xml | 4 +++- app/src/main/res/values/strings.xml | 1 + 8 files changed, 42 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/activities/MastodonRegisterActivity.java b/app/src/main/java/app/fedilab/android/activities/MastodonRegisterActivity.java index 6cacae87a..311bac0a0 100644 --- a/app/src/main/java/app/fedilab/android/activities/MastodonRegisterActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/MastodonRegisterActivity.java @@ -209,7 +209,7 @@ public class MastodonRegisterActivity extends BaseActivity implements OnRetrieve accountCreation.setPassword(password.getText().toString().trim()); accountCreation.setPasswordConfirm(password_confirm.getText().toString().trim()); accountCreation.setUsername(username.getText().toString().trim()); - new CreateMastodonAccountAsyncTask(MastodonRegisterActivity.this, accountCreation, instance, MastodonRegisterActivity.this).executeOnExecutor(THREAD_POOL_EXECUTOR); + new CreateMastodonAccountAsyncTask(MastodonRegisterActivity.this,RetrieveInstanceRegAsyncTask.instanceType.MASTODON, accountCreation, instance, MastodonRegisterActivity.this).executeOnExecutor(THREAD_POOL_EXECUTOR); }); diff --git a/app/src/main/java/app/fedilab/android/activities/MastodonShareRegisterActivity.java b/app/src/main/java/app/fedilab/android/activities/MastodonShareRegisterActivity.java index c9684134d..271f2ee08 100644 --- a/app/src/main/java/app/fedilab/android/activities/MastodonShareRegisterActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/MastodonShareRegisterActivity.java @@ -51,6 +51,7 @@ import java.util.List; import app.fedilab.android.R; import app.fedilab.android.asynctasks.CreateMastodonAccountAsyncTask; +import app.fedilab.android.asynctasks.RetrieveInstanceRegAsyncTask; import app.fedilab.android.client.APIResponse; import app.fedilab.android.client.Entities.AccountCreation; import app.fedilab.android.client.Entities.InstanceReg; @@ -177,7 +178,7 @@ public class MastodonShareRegisterActivity extends BaseActivity implements OnRet accountCreation.setPassword(password.getText().toString().trim()); accountCreation.setPasswordConfirm(password_confirm.getText().toString().trim()); accountCreation.setUsername(username.getText().toString().trim()); - new CreateMastodonAccountAsyncTask(MastodonShareRegisterActivity.this, accountCreation, instance, MastodonShareRegisterActivity.this).executeOnExecutor(THREAD_POOL_EXECUTOR); + new CreateMastodonAccountAsyncTask(MastodonShareRegisterActivity.this, RetrieveInstanceRegAsyncTask.instanceType.MASTODON, accountCreation, instance, MastodonShareRegisterActivity.this).executeOnExecutor(THREAD_POOL_EXECUTOR); }); diff --git a/app/src/main/java/app/fedilab/android/activities/PeertubeRegisterActivity.java b/app/src/main/java/app/fedilab/android/activities/PeertubeRegisterActivity.java index dd00bfda6..591d630e0 100644 --- a/app/src/main/java/app/fedilab/android/activities/PeertubeRegisterActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/PeertubeRegisterActivity.java @@ -162,7 +162,7 @@ public class PeertubeRegisterActivity extends BaseActivity implements OnRetrieve accountCreation.setPassword(password.getText().toString().trim()); accountCreation.setPasswordConfirm(password_confirm.getText().toString().trim()); accountCreation.setUsername(username.getText().toString().trim()); - new CreateMastodonAccountAsyncTask(PeertubeRegisterActivity.this, accountCreation, instance, PeertubeRegisterActivity.this).executeOnExecutor(THREAD_POOL_EXECUTOR); + new CreateMastodonAccountAsyncTask(PeertubeRegisterActivity.this, RetrieveInstanceRegAsyncTask.instanceType.PEERTUBE, accountCreation, instance, PeertubeRegisterActivity.this).executeOnExecutor(THREAD_POOL_EXECUTOR); }); @@ -191,7 +191,7 @@ public class PeertubeRegisterActivity extends BaseActivity implements OnRetrieve } public void pickupInstance(String instance) { - + LinearLayout form_container = findViewById(R.id.form_container); LinearLayout drawer_layout = findViewById(R.id.drawer_layout); @@ -246,10 +246,8 @@ public class PeertubeRegisterActivity extends BaseActivity implements OnRetrieve username_indicator.setText(getString(R.string.username_indicator, instance)); String tos = getString(R.string.tos); - String serverrules = getString(R.string.server_rules); - String content_agreement = getString(R.string.agreement_check, - "" + serverrules + "", - "" + tos + "" + String content_agreement = getString(R.string.agreement_check_peertube, + "" + tos + "" ); agreement_text.setMovementMethod(LinkMovementMethod.getInstance()); agreement_text.setText(Html.fromHtml(content_agreement)); diff --git a/app/src/main/java/app/fedilab/android/asynctasks/CreateMastodonAccountAsyncTask.java b/app/src/main/java/app/fedilab/android/asynctasks/CreateMastodonAccountAsyncTask.java index 5d436c981..5b9711f3d 100644 --- a/app/src/main/java/app/fedilab/android/asynctasks/CreateMastodonAccountAsyncTask.java +++ b/app/src/main/java/app/fedilab/android/asynctasks/CreateMastodonAccountAsyncTask.java @@ -22,6 +22,7 @@ import java.lang.ref.WeakReference; import app.fedilab.android.client.API; import app.fedilab.android.client.APIResponse; import app.fedilab.android.client.Entities.AccountCreation; +import app.fedilab.android.client.PeertubeAPI; import app.fedilab.android.interfaces.OnPostStatusActionInterface; @@ -38,17 +39,23 @@ public class CreateMastodonAccountAsyncTask extends AsyncTask private AccountCreation accountCreation; private WeakReference contextReference; private String instance; + private RetrieveInstanceRegAsyncTask.instanceType type; - public CreateMastodonAccountAsyncTask(Context context, AccountCreation accountCreation, String instance, OnPostStatusActionInterface onPostStatusActionInterface) { + public CreateMastodonAccountAsyncTask(Context context, RetrieveInstanceRegAsyncTask.instanceType type, AccountCreation accountCreation, String instance, OnPostStatusActionInterface onPostStatusActionInterface) { this.contextReference = new WeakReference<>(context); this.listener = onPostStatusActionInterface; this.accountCreation = accountCreation; this.instance = instance; + this.type = type; } @Override protected Void doInBackground(Void... params) { - apiResponse = new API(contextReference.get(), instance, null).createAccount(accountCreation); + if( type == RetrieveInstanceRegAsyncTask.instanceType.MASTODON) { + apiResponse = new API(contextReference.get(), instance, null).createAccount(accountCreation); + }else{ + apiResponse = new PeertubeAPI(contextReference.get(), instance, null).createAccount(accountCreation); + } return null; } diff --git a/app/src/main/java/app/fedilab/android/client/API.java b/app/src/main/java/app/fedilab/android/client/API.java index 51c809703..f3ca9fd53 100644 --- a/app/src/main/java/app/fedilab/android/client/API.java +++ b/app/src/main/java/app/fedilab/android/client/API.java @@ -900,7 +900,7 @@ public class API { params.put("password", accountCreation.getPassword()); params.put("agreement", "true"); params.put("locale", Locale.getDefault().getLanguage()); - response = new HttpsConnection(context, this.instance).post(getAbsoluteUrl("/accounts"), 10, params, app_token); + response = new HttpsConnection(context, this.instance).post(getAbsoluteUrl("/accounts"), 30, params, app_token); /*res = new JSONObject(response); String access_token = res.getString("access_token"); diff --git a/app/src/main/java/app/fedilab/android/client/PeertubeAPI.java b/app/src/main/java/app/fedilab/android/client/PeertubeAPI.java index 3d81edc5e..b70f6d250 100644 --- a/app/src/main/java/app/fedilab/android/client/PeertubeAPI.java +++ b/app/src/main/java/app/fedilab/android/client/PeertubeAPI.java @@ -39,6 +39,7 @@ import java.util.Map; import app.fedilab.android.R; import app.fedilab.android.client.Entities.Account; +import app.fedilab.android.client.Entities.AccountCreation; import app.fedilab.android.client.Entities.Attachment; import app.fedilab.android.client.Entities.Conversation; import app.fedilab.android.client.Entities.Emojis; @@ -403,6 +404,26 @@ public class PeertubeAPI { } + + public APIResponse createAccount(AccountCreation accountCreation) { + apiResponse = new APIResponse(); + + try { + HashMap params = new HashMap<>(); + params.put("username", accountCreation.getUsername()); + params.put("email", accountCreation.getEmail()); + params.put("password", accountCreation.getPassword()); + String response = new HttpsConnection(context, this.instance).post(getAbsoluteUrl("/users/register"), 30, params, null); + + } catch (NoSuchAlgorithmException | IOException | KeyManagementException e) { + e.printStackTrace(); + } catch (HttpsConnection.HttpsConnectionException e) { + setError(e.getStatusCode(), e); + e.printStackTrace(); + } + return apiResponse; + } + /*** * Verifiy credential of the authenticated user *synchronously* * @return Account diff --git a/app/src/main/res/layout/activity_register_peertube.xml b/app/src/main/res/layout/activity_register_peertube.xml index 637282d74..fb5027ad5 100644 --- a/app/src/main/res/layout/activity_register_peertube.xml +++ b/app/src/main/res/layout/activity_register_peertube.xml @@ -174,8 +174,10 @@ + android:layout_height="wrap_content" + android:layout_marginBottom="10dp"/>