Fix #292
This commit is contained in:
parent
964c0d733a
commit
6ecdcef308
|
@ -51,6 +51,7 @@ import android.text.style.UnderlineSpan;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.inputmethod.EditorInfo;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
|
@ -86,6 +87,7 @@ import app.fedilab.android.client.Entities.ManageTimelines;
|
||||||
import app.fedilab.android.client.Entities.Relationship;
|
import app.fedilab.android.client.Entities.Relationship;
|
||||||
import app.fedilab.android.client.Entities.RemoteInstance;
|
import app.fedilab.android.client.Entities.RemoteInstance;
|
||||||
import app.fedilab.android.client.Entities.Status;
|
import app.fedilab.android.client.Entities.Status;
|
||||||
|
import app.fedilab.android.client.Entities.UserNote;
|
||||||
import app.fedilab.android.client.HttpsConnection;
|
import app.fedilab.android.client.HttpsConnection;
|
||||||
import app.fedilab.android.drawers.AccountsInAListAdapter;
|
import app.fedilab.android.drawers.AccountsInAListAdapter;
|
||||||
import app.fedilab.android.drawers.StatusListAdapter;
|
import app.fedilab.android.drawers.StatusListAdapter;
|
||||||
|
@ -97,6 +99,7 @@ import app.fedilab.android.helper.Helper;
|
||||||
import app.fedilab.android.interfaces.OnListActionInterface;
|
import app.fedilab.android.interfaces.OnListActionInterface;
|
||||||
import app.fedilab.android.sqlite.AccountDAO;
|
import app.fedilab.android.sqlite.AccountDAO;
|
||||||
import app.fedilab.android.sqlite.InstancesDAO;
|
import app.fedilab.android.sqlite.InstancesDAO;
|
||||||
|
import app.fedilab.android.sqlite.NotesDAO;
|
||||||
import app.fedilab.android.sqlite.Sqlite;
|
import app.fedilab.android.sqlite.Sqlite;
|
||||||
import app.fedilab.android.sqlite.TempMuteDAO;
|
import app.fedilab.android.sqlite.TempMuteDAO;
|
||||||
import es.dmoral.toasty.Toasty;
|
import es.dmoral.toasty.Toasty;
|
||||||
|
@ -133,7 +136,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
|
|
||||||
private List<Status> statuses;
|
private List<Status> statuses;
|
||||||
private StatusListAdapter statusListAdapter;
|
private StatusListAdapter statusListAdapter;
|
||||||
private ImageButton account_follow;
|
private ImageButton account_follow, account_personal_note;
|
||||||
private String addToList;
|
private String addToList;
|
||||||
private ViewPager mPager;
|
private ViewPager mPager;
|
||||||
private TabLayout tabLayout;
|
private TabLayout tabLayout;
|
||||||
|
@ -194,6 +197,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
pins = new ArrayList<>();
|
pins = new ArrayList<>();
|
||||||
Bundle b = getIntent().getExtras();
|
Bundle b = getIntent().getExtras();
|
||||||
account_follow = findViewById(R.id.account_follow);
|
account_follow = findViewById(R.id.account_follow);
|
||||||
|
account_personal_note = findViewById(R.id.account_personal_note);
|
||||||
account_follow_request = findViewById(R.id.account_follow_request);
|
account_follow_request = findViewById(R.id.account_follow_request);
|
||||||
header_edit_profile = findViewById(R.id.header_edit_profile);
|
header_edit_profile = findViewById(R.id.header_edit_profile);
|
||||||
account_follow.setEnabled(false);
|
account_follow.setEnabled(false);
|
||||||
|
@ -885,6 +889,51 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
UserNote userNote = new NotesDAO(getApplicationContext(), db).getUserNote(account.getAcct());
|
||||||
|
if( userNote != null ){
|
||||||
|
|
||||||
|
account_personal_note.setVisibility(View.VISIBLE);
|
||||||
|
account_personal_note.setOnClickListener(view->{
|
||||||
|
AlertDialog.Builder builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);
|
||||||
|
builderInner.setTitle(R.string.note_for_account);
|
||||||
|
EditText input = new EditText(ShowAccountActivity.this);
|
||||||
|
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
|
||||||
|
LinearLayout.LayoutParams.MATCH_PARENT,
|
||||||
|
LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||||
|
input.setLayoutParams(lp);
|
||||||
|
input.setSingleLine(false);
|
||||||
|
input.setText(userNote.getNote());
|
||||||
|
input.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
|
||||||
|
builderInner.setView(input);
|
||||||
|
builderInner.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builderInner.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
UserNote userNote = new NotesDAO(getApplicationContext(), db).getUserNote(account.getAcct());
|
||||||
|
if( userNote == null) {
|
||||||
|
userNote = new UserNote();
|
||||||
|
userNote.setAcct(account.getAcct());
|
||||||
|
}
|
||||||
|
userNote.setNote(input.getText().toString());
|
||||||
|
new NotesDAO(getApplicationContext(), db).insertInstance(userNote);
|
||||||
|
if( input.getText().toString().trim().length() > 0 ){
|
||||||
|
account_personal_note.setVisibility(View.VISIBLE);
|
||||||
|
}else{
|
||||||
|
account_personal_note.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builderInner.show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
TextView account_date = findViewById(R.id.account_date);
|
TextView account_date = findViewById(R.id.account_date);
|
||||||
account_date.setText(Helper.shortDateToString(account.getCreated_at()));
|
account_date.setText(Helper.shortDateToString(account.getCreated_at()));
|
||||||
new Thread(new Runnable() {
|
new Thread(new Runnable() {
|
||||||
|
@ -1181,6 +1230,7 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
popup.getMenu().findItem(R.id.action_hide_boost).setVisible(false);
|
popup.getMenu().findItem(R.id.action_hide_boost).setVisible(false);
|
||||||
popup.getMenu().findItem(R.id.action_endorse).setVisible(false);
|
popup.getMenu().findItem(R.id.action_endorse).setVisible(false);
|
||||||
popup.getMenu().findItem(R.id.action_direct_message).setVisible(false);
|
popup.getMenu().findItem(R.id.action_direct_message).setVisible(false);
|
||||||
|
popup.getMenu().findItem(R.id.action_add_notes).setVisible(false);
|
||||||
popup.getMenu().findItem(R.id.action_add_to_list).setVisible(false);
|
popup.getMenu().findItem(R.id.action_add_to_list).setVisible(false);
|
||||||
stringArrayConf = getResources().getStringArray(R.array.more_action_owner_confirm);
|
stringArrayConf = getResources().getStringArray(R.array.more_action_owner_confirm);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1231,10 +1281,10 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
} else {
|
} else {
|
||||||
style = R.style.Dialog;
|
style = R.style.Dialog;
|
||||||
}
|
}
|
||||||
|
final SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
||||||
switch (item.getItemId()) {
|
switch (item.getItemId()) {
|
||||||
case R.id.action_follow_instance:
|
case R.id.action_follow_instance:
|
||||||
String finalInstanceName = splitAcct[1];
|
String finalInstanceName = splitAcct[1];
|
||||||
final SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
|
||||||
List<RemoteInstance> remoteInstances = new InstancesDAO(ShowAccountActivity.this, db).getInstanceByName(finalInstanceName);
|
List<RemoteInstance> remoteInstances = new InstancesDAO(ShowAccountActivity.this, db).getInstanceByName(finalInstanceName);
|
||||||
if (remoteInstances != null && remoteInstances.size() > 0) {
|
if (remoteInstances != null && remoteInstances.size() > 0) {
|
||||||
Toasty.info(getApplicationContext(), getString(R.string.toast_instance_already_added), Toast.LENGTH_LONG).show();
|
Toasty.info(getApplicationContext(), getString(R.string.toast_instance_already_added), Toast.LENGTH_LONG).show();
|
||||||
|
@ -1263,7 +1313,6 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
|
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
final SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
|
||||||
if (!peertubeAccount)
|
if (!peertubeAccount)
|
||||||
new InstancesDAO(ShowAccountActivity.this, db).insertInstance(finalInstanceName, "MASTODON");
|
new InstancesDAO(ShowAccountActivity.this, db).insertInstance(finalInstanceName, "MASTODON");
|
||||||
else
|
else
|
||||||
|
@ -1446,6 +1495,47 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
||||||
});
|
});
|
||||||
builderInner.show();
|
builderInner.show();
|
||||||
return true;
|
return true;
|
||||||
|
case R.id.action_add_notes:
|
||||||
|
UserNote userNote = new NotesDAO(getApplicationContext(), db).getUserNote(account.getAcct());
|
||||||
|
builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);
|
||||||
|
builderInner.setTitle(R.string.note_for_account);
|
||||||
|
input = new EditText(ShowAccountActivity.this);
|
||||||
|
lp = new LinearLayout.LayoutParams(
|
||||||
|
LinearLayout.LayoutParams.MATCH_PARENT,
|
||||||
|
LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||||
|
input.setLayoutParams(lp);
|
||||||
|
input.setSingleLine(false);
|
||||||
|
if( userNote != null) {
|
||||||
|
input.setText(userNote.getNote());
|
||||||
|
}
|
||||||
|
input.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION);
|
||||||
|
builderInner.setView(input);
|
||||||
|
builderInner.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builderInner.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
UserNote userNote = new NotesDAO(getApplicationContext(), db).getUserNote(account.getAcct());
|
||||||
|
if( userNote == null) {
|
||||||
|
userNote = new UserNote();
|
||||||
|
userNote.setAcct(account.getAcct());
|
||||||
|
}
|
||||||
|
userNote.setNote(input.getText().toString());
|
||||||
|
new NotesDAO(getApplicationContext(), db).insertInstance(userNote);
|
||||||
|
if( input.getText().toString().trim().length() > 0 ){
|
||||||
|
account_personal_note.setVisibility(View.VISIBLE);
|
||||||
|
}else{
|
||||||
|
account_personal_note.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builderInner.show();
|
||||||
|
return true;
|
||||||
case R.id.action_block:
|
case R.id.action_block:
|
||||||
builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);
|
builderInner = new AlertDialog.Builder(ShowAccountActivity.this, style);
|
||||||
builderInner.setTitle(stringArrayConf[1]);
|
builderInner.setTitle(stringArrayConf[1]);
|
||||||
|
|
|
@ -94,7 +94,18 @@
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toEndOf="@id/account_pp"
|
app:layout_constraintStart_toEndOf="@id/account_pp"
|
||||||
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
|
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/account_personal_note"
|
||||||
|
android:layout_width="45dp"
|
||||||
|
android:layout_height="45dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:src="@drawable/ic_note"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/account_follow"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
|
||||||
<View
|
<View
|
||||||
android:id="@+id/fake_actionbar"
|
android:id="@+id/fake_actionbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -95,7 +95,18 @@
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toEndOf="@id/account_pp"
|
app:layout_constraintStart_toEndOf="@id/account_pp"
|
||||||
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
|
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
|
||||||
|
<ImageButton
|
||||||
|
android:id="@+id/account_personal_note"
|
||||||
|
android:layout_width="45dp"
|
||||||
|
android:layout_height="45dp"
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:src="@drawable/ic_note"
|
||||||
|
style="@style/Widget.AppCompat.Button.Colored"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:scaleType="fitCenter"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintStart_toEndOf="@id/account_follow"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/banner_pp" />
|
||||||
<View
|
<View
|
||||||
android:id="@+id/fake_actionbar"
|
android:id="@+id/fake_actionbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -1214,4 +1214,5 @@
|
||||||
<string name="no_live_notif">No live notifications</string>
|
<string name="no_live_notif">No live notifications</string>
|
||||||
<string name="no_live_indication">Notifications will be fetched every 15 minutes.</string>
|
<string name="no_live_indication">Notifications will be fetched every 15 minutes.</string>
|
||||||
<string name="action_add_notes">Add notes</string>
|
<string name="action_add_notes">Add notes</string>
|
||||||
|
<string name="note_for_account">Notes for the account</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue