added dm receiver name, bug fix

This commit is contained in:
nuclearfog 2019-10-11 20:44:19 +02:00
parent 34cb52b527
commit 11a5093cfc
No known key found for this signature in database
GPG Key ID: ED35E22099354A64
9 changed files with 125 additions and 27 deletions

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="WizardSettings">
<option name="children">
<map>
<entry key="vectorWizard">
<value>
<PersistentState>
<option name="children">
<map>
<entry key="vectorAssetStep">
<value>
<PersistentState>
<option name="values">
<map>
<entry key="assetSourceType" value="FILE" />
<entry key="outputName" value="rightarrow" />
<entry key="sourceFile" value="$USER_HOME$/Dokumente/Rest/Entypo SVG/arrow-right.svg" />
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</PersistentState>
</value>
</entry>
</map>
</option>
</component>
</project>

View File

@ -21,7 +21,6 @@ import org.nuclearfog.tag.Tagger.OnTagClickListener;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.helper.TimeFormat;
import org.nuclearfog.twidda.backend.items.Message;
import org.nuclearfog.twidda.backend.items.TwitterUser;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
@ -88,7 +87,6 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
public void onBindViewHolder(@NonNull MessageHolder vh, final int index) {
Spanned text;
Message message = messages.get(index);
TwitterUser user = message.getSender();
if (itemClickListener.get() != null)
text = Tagger.makeText(message.getText(), highlight, itemClickListener.get());
else
@ -96,12 +94,14 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
vh.message.setText(text);
vh.message.setMovementMethod(LinkMovementMethod.getInstance());
vh.message.setLinkTextColor(highlight);
vh.username.setText(user.getUsername());
vh.screenname.setText(user.getScreenname());
vh.username.setText(message.getSender().getUsername());
vh.screenname.setText(message.getSender().getScreenname());
vh.createdAt.setText(TimeFormat.getString(message.getTime()));
vh.receivername.setText(message.getReceiver().getScreenname());
vh.message.setTextColor(fontColor);
vh.username.setTextColor(fontColor);
vh.screenname.setTextColor(fontColor);
vh.receivername.setTextColor(fontColor);
vh.createdAt.setTextColor(fontColor);
vh.answer.setOnClickListener(new View.OnClickListener() {
@Override
@ -124,11 +124,11 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
itemClickListener.get().onClick(messages.get(index), OnItemSelected.Action.PROFILE);
}
});
if (user.isVerified())
if (message.getSender().isVerified())
vh.username.setCompoundDrawablesWithIntrinsicBounds(R.drawable.verify, 0, 0, 0);
else
vh.username.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
if (user.isLocked())
if (message.getSender().isLocked())
vh.screenname.setCompoundDrawablesWithIntrinsicBounds(R.drawable.lock, 0, 0, 0);
else
vh.screenname.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
@ -143,6 +143,7 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
final ImageView profile_img;
final TextView username;
final TextView screenname;
final TextView receivername;
final TextView createdAt;
final TextView message;
final Button answer;
@ -153,6 +154,7 @@ public class MessageAdapter extends Adapter<MessageAdapter.MessageHolder> {
profile_img = v.findViewById(R.id.dm_profileImg);
username = v.findViewById(R.id.dm_username);
screenname = v.findViewById(R.id.dm_screenname);
receivername = v.findViewById(R.id.dm_receiver);
createdAt = v.findViewById(R.id.dm_time);
message = v.findViewById(R.id.dm_message);
answer = v.findViewById(R.id.dm_answer);

View File

@ -3,7 +3,6 @@ package org.nuclearfog.twidda.backend;
import android.content.Intent;
import android.os.AsyncTask;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
@ -148,7 +147,6 @@ public class ProfileLoader extends AsyncTask<Long, TwitterUser, UserBundle> {
String strFollower = settings.getNumberFormatter().format(user.getFollower());
String strFollowing = settings.getNumberFormatter().format(user.getFollowing());
Spanned bio = Tagger.makeText(user.getBio(), settings.getHighlightColor(), ui.get());
txtBio.setMovementMethod(LinkMovementMethod.getInstance());
txtUser.setText(user.getUsername());
txtScrName.setText(user.getScreenname());
txtFollower.setText(strFollower);

View File

@ -3,7 +3,6 @@ package org.nuclearfog.twidda.backend;
import android.content.Intent;
import android.os.AsyncTask;
import android.text.Spannable;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
@ -151,9 +150,8 @@ public class StatusLoader extends AsyncTask<Long, Tweet, Tweet> {
if (!tweet.getTweet().trim().isEmpty()) {
Spannable sTweet = Tagger.makeText(tweet.getTweet(), settings.getHighlightColor(), ui.get());
tweetText.setMovementMethod(LinkMovementMethod.getInstance());
tweetText.setText(sTweet);
tweetText.setTextColor(settings.getFontColor());
tweetText.setText(sTweet);
} else {
tweetText.setVisibility(GONE);
}

View File

@ -69,7 +69,7 @@ public class MessageListFragment extends Fragment implements OnRefreshListener,
public void onStart() {
super.onStart();
if (messageTask == null)
load();
load(Mode.DB);
}
@ -84,7 +84,7 @@ public class MessageListFragment extends Fragment implements OnRefreshListener,
@Override
public void onRefresh() {
if (messageTask != null && messageTask.getStatus() != RUNNING)
load();
load(Mode.LOAD);
}
@ -123,8 +123,8 @@ public class MessageListFragment extends Fragment implements OnRefreshListener,
}
private void load() {
messageTask = new MessageLoader(root, Mode.LOAD);
private void load(Mode m) {
messageTask = new MessageLoader(root, m);
messageTask.execute();
}
}

View File

@ -8,12 +8,14 @@ import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.text.method.LinkMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.View.OnTouchListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
@ -39,6 +41,8 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static android.os.AsyncTask.Status.RUNNING;
import static android.view.MotionEvent.ACTION_DOWN;
import static android.view.MotionEvent.ACTION_UP;
import static android.widget.Toast.LENGTH_SHORT;
import static org.nuclearfog.twidda.window.SearchPage.KEY_SEARCH;
import static org.nuclearfog.twidda.window.TweetPopup.KEY_TWEETPOPUP_ADDITION;
@ -47,7 +51,8 @@ import static org.nuclearfog.twidda.window.UserDetail.KEY_USERLIST_ID;
import static org.nuclearfog.twidda.window.UserDetail.KEY_USERLIST_MODE;
public class TweetDetail extends AppCompatActivity implements OnClickListener, OnLongClickListener, OnTagClickListener {
public class TweetDetail extends AppCompatActivity implements OnClickListener, OnTouchListener,
OnLongClickListener, OnTagClickListener {
public static final String KEY_TWEET_ID = "tweetID";
public static final String KEY_TWEET_NAME = "username";
@ -93,12 +98,13 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
FragmentAdapter adapter = new FragmentAdapter(getSupportFragmentManager(), AdapterType.TWEET_PAGE, tweetID, username);
mConnect = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
tweetTxt.setMovementMethod(new ScrollingMovementMethod());
tweetTxt.setMovementMethod(LinkMovementMethod.getInstance());
tweetTxt.setLinkTextColor(settings.getHighlightColor());
root.setBackgroundColor(settings.getBackgroundColor());
pager.setOffscreenPageLimit(1);
pager.setAdapter(adapter);
tweetTxt.setOnTouchListener(this);
ansButton.setOnClickListener(this);
rtwButton.setOnClickListener(this);
favButton.setOnClickListener(this);
@ -240,6 +246,21 @@ public class TweetDetail extends AppCompatActivity implements OnClickListener, O
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case ACTION_DOWN:
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
case ACTION_UP:
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
return v.performClick();
}
public void setIsHome() {
isHome = true;
invalidateOptionsMenu();

View File

@ -5,11 +5,13 @@ import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.text.method.LinkMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
@ -39,6 +41,8 @@ import java.text.NumberFormat;
import static android.content.Intent.ACTION_VIEW;
import static android.os.AsyncTask.Status.RUNNING;
import static android.view.Gravity.CENTER;
import static android.view.MotionEvent.ACTION_DOWN;
import static android.view.MotionEvent.ACTION_UP;
import static android.view.View.VISIBLE;
import static android.widget.Toast.LENGTH_SHORT;
import static org.nuclearfog.twidda.backend.ProfileLoader.Mode.LDR_PROFILE;
@ -52,7 +56,7 @@ import static org.nuclearfog.twidda.window.UserDetail.UserType.FRIENDS;
public class UserProfile extends AppCompatActivity implements OnClickListener,
OnTagClickListener, OnTabSelectedListener {
OnTouchListener, OnTagClickListener, OnTabSelectedListener {
public static final String KEY_PROFILE_ID = "userID";
private static final int REQUEST_PROFILE_CHANGED = 1;
@ -100,7 +104,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
GlobalSettings settings = GlobalSettings.getInstance(this);
bioTxt.setMovementMethod(ScrollingMovementMethod.getInstance());
bioTxt.setMovementMethod(LinkMovementMethod.getInstance());
tab.setSelectedTabIndicatorColor(settings.getHighlightColor());
bioTxt.setLinkTextColor(settings.getHighlightColor());
lnkTxt.setLinkTextColor(settings.getHighlightColor());
@ -127,6 +131,7 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
tab.addOnTabSelectedListener(this);
following.setOnClickListener(this);
follower.setOnClickListener(this);
bioTxt.setOnTouchListener(this);
}
@ -339,6 +344,21 @@ public class UserProfile extends AppCompatActivity implements OnClickListener,
}
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case ACTION_DOWN:
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
case ACTION_UP:
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
return v.performClick();
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
tabIndex = tab.getPosition();

View File

@ -0,0 +1,9 @@
<vector android:height="20dp"
android:viewportHeight="20"
android:viewportWidth="20"
android:width="20dp"
xmlns:android="http://schemas.android.com/apk/res/android">
<path
android:fillColor="#FFFFFF"
android:pathData="M11,16.5V13H3V7h8V3.5l6.5,6.5L11,16.5z" />
</vector>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="@style/CardViewStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@ -65,13 +66,30 @@
</LinearLayout>
<TextView
android:id="@+id/dm_screenname"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/padding_drawable"
android:singleLine="true"
android:textSize="@dimen/textsize_name" />
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/dm_screenname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/margin_layout"
android:layout_marginEnd="@dimen/margin_layout"
android:singleLine="true"
android:textSize="@dimen/textsize_name" />
<TextView
android:id="@+id/dm_receiver"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/padding_drawable"
android:textSize="@dimen/textsize_name"
android:singleLine="true"
app:drawableLeftCompat="@drawable/rightarrow" />
</LinearLayout>
</LinearLayout>