mirror of
https://github.com/nuclearfog/Shitter.git
synced 2025-02-06 22:13:21 +01:00
bug fix
This commit is contained in:
parent
dce43a90ea
commit
2777706d76
@ -40,6 +40,7 @@ import org.nuclearfog.twidda.backend.utils.AppStyles;
|
||||
import org.nuclearfog.twidda.backend.utils.ErrorHandler;
|
||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.model.Account;
|
||||
import org.nuclearfog.twidda.model.User;
|
||||
import org.nuclearfog.twidda.ui.dialogs.ConfirmDialog;
|
||||
import org.nuclearfog.twidda.ui.dialogs.ConfirmDialog.OnConfirmListener;
|
||||
@ -80,12 +81,12 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
private ConfirmDialog confirmDialog;
|
||||
|
||||
private ImageView profile_image, profile_banner, toolbar_background, changeBannerBtn;
|
||||
private EditText name, link, loc, bio;
|
||||
private EditText username, profileUrl, location, userDescription;
|
||||
private Button addBannerBtn;
|
||||
|
||||
@Nullable
|
||||
private User user;
|
||||
|
||||
ProfileUpdate holder = new ProfileUpdate();
|
||||
private ProfileUpdate holder = new ProfileUpdate();
|
||||
|
||||
|
||||
@Override
|
||||
@ -98,17 +99,19 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
protected void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.page_editprofile);
|
||||
Toolbar toolbar = findViewById(R.id.editprofile_toolbar);
|
||||
Toolbar toolbar = findViewById(R.id.edit_profile_toolbar);
|
||||
ConstraintLayout root = findViewById(R.id.page_edit);
|
||||
profile_image = findViewById(R.id.edit_pb);
|
||||
profile_banner = findViewById(R.id.edit_banner);
|
||||
addBannerBtn = findViewById(R.id.edit_add_banner);
|
||||
changeBannerBtn = findViewById(R.id.edit_change_banner);
|
||||
toolbar_background = findViewById(R.id.editprofile_toolbar_background);
|
||||
name = findViewById(R.id.edit_name);
|
||||
link = findViewById(R.id.edit_link);
|
||||
loc = findViewById(R.id.edit_location);
|
||||
bio = findViewById(R.id.edit_bio);
|
||||
View locationDescription = findViewById(R.id.profile_edit_change_location_label);
|
||||
View urlDescription = findViewById(R.id.profile_edit_change_url_label);
|
||||
profile_image = findViewById(R.id.edit_profile_image);
|
||||
profile_banner = findViewById(R.id.profile_edit_banner);
|
||||
addBannerBtn = findViewById(R.id.profile_edit_add_banner);
|
||||
changeBannerBtn = findViewById(R.id.profile_edit_change_banner);
|
||||
toolbar_background = findViewById(R.id.profile_edit_toolbar_background);
|
||||
username = findViewById(R.id.profile_edit_change_name);
|
||||
profileUrl = findViewById(R.id.profile_edit_change_url);
|
||||
location = findViewById(R.id.profile_edit_change_location);
|
||||
userDescription = findViewById(R.id.profile_edit_change_description);
|
||||
|
||||
loadingCircle = new ProgressDialog(this);
|
||||
confirmDialog = new ConfirmDialog(this);
|
||||
@ -120,10 +123,16 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
if (!settings.toolbarOverlapEnabled()) {
|
||||
ConstraintSet constraints = new ConstraintSet();
|
||||
constraints.clone(root);
|
||||
constraints.connect(R.id.edit_banner, ConstraintSet.TOP, R.id.editprofile_toolbar, ConstraintSet.BOTTOM);
|
||||
constraints.connect(R.id.edit_add_banner, ConstraintSet.TOP, R.id.edit_banner, ConstraintSet.TOP);
|
||||
constraints.connect(R.id.profile_edit_banner, ConstraintSet.TOP, R.id.edit_profile_toolbar, ConstraintSet.BOTTOM);
|
||||
constraints.connect(R.id.profile_edit_add_banner, ConstraintSet.TOP, R.id.profile_edit_banner, ConstraintSet.TOP);
|
||||
constraints.applyTo(root);
|
||||
}
|
||||
if (settings.getLogin().getApiType() != Account.API_TWITTER) {
|
||||
profileUrl.setVisibility(View.GONE);
|
||||
location.setVisibility(View.GONE);
|
||||
locationDescription.setVisibility(View.GONE);
|
||||
urlDescription.setVisibility(View.GONE);
|
||||
}
|
||||
toolbar.setBackgroundColor(settings.getBackgroundColor() & TOOLBAR_TRANSPARENCY);
|
||||
profile_banner.setDrawingCacheEnabled(true);
|
||||
AppStyles.setTheme(root);
|
||||
@ -131,8 +140,7 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
|
||||
Object data = getIntent().getSerializableExtra(KEY_PROFILE_DATA);
|
||||
if (data instanceof User) {
|
||||
user = (User) data;
|
||||
setUser();
|
||||
setUser((User) data);
|
||||
}
|
||||
profile_image.setOnClickListener(this);
|
||||
profile_banner.setOnClickListener(this);
|
||||
@ -153,10 +161,10 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
String username = name.getText().toString();
|
||||
String userLink = link.getText().toString();
|
||||
String userLoc = loc.getText().toString();
|
||||
String userBio = bio.getText().toString();
|
||||
String username = this.username.getText().toString();
|
||||
String userLink = profileUrl.getText().toString();
|
||||
String userLoc = location.getText().toString();
|
||||
String userBio = userDescription.getText().toString();
|
||||
if (user != null && username.equals(user.getUsername()) && userLink.equals(user.getProfileUrl())
|
||||
&& userLoc.equals(user.getLocation()) && userBio.equals(user.getDescription()) && !holder.imageAdded()) {
|
||||
finish();
|
||||
@ -218,11 +226,11 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// select net profile image
|
||||
if (v.getId() == R.id.edit_pb) {
|
||||
if (v.getId() == R.id.edit_profile_image) {
|
||||
getMedia(REQUEST_PROFILE);
|
||||
}
|
||||
// select new banner image
|
||||
else if (v.getId() == R.id.edit_add_banner || v.getId() == R.id.edit_banner) {
|
||||
else if (v.getId() == R.id.profile_edit_add_banner || v.getId() == R.id.profile_edit_banner) {
|
||||
getMedia(REQUEST_BANNER);
|
||||
}
|
||||
}
|
||||
@ -289,16 +297,16 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
*/
|
||||
private void updateUser() {
|
||||
if (editorAsync == null || editorAsync.getStatus() != RUNNING) {
|
||||
String username = name.getText().toString();
|
||||
String userLink = link.getText().toString();
|
||||
String userLoc = loc.getText().toString();
|
||||
String userBio = bio.getText().toString();
|
||||
String username = this.username.getText().toString();
|
||||
String userLink = profileUrl.getText().toString();
|
||||
String userLoc = location.getText().toString();
|
||||
String userBio = userDescription.getText().toString();
|
||||
if (username.trim().isEmpty()) {
|
||||
String errMsg = getString(R.string.error_empty_name);
|
||||
name.setError(errMsg);
|
||||
this.username.setError(errMsg);
|
||||
} else if (!userLink.isEmpty() && !Patterns.WEB_URL.matcher(userLink).matches()) {
|
||||
String errMsg = getString(R.string.error_invalid_link);
|
||||
link.setError(errMsg);
|
||||
profileUrl.setError(errMsg);
|
||||
} else if (editorAsync == null || editorAsync.getStatus() != RUNNING) {
|
||||
holder.setProfile(username, userLink, userBio, userLoc);
|
||||
if (holder.prepare(getContentResolver())) {
|
||||
@ -315,7 +323,7 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
/**
|
||||
* Set current user's information
|
||||
*/
|
||||
private void setUser() {
|
||||
private void setUser(User user) {
|
||||
String profileImageUrl = user.getProfileImageThumbnailUrl();
|
||||
String bannerImageUrl = user.getBannerImageThumbnailUrl();
|
||||
if (!profileImageUrl.isEmpty()) {
|
||||
@ -330,9 +338,10 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, OnP
|
||||
addBannerBtn.setVisibility(VISIBLE);
|
||||
changeBannerBtn.setVisibility(INVISIBLE);
|
||||
}
|
||||
name.setText(user.getUsername());
|
||||
link.setText(user.getProfileUrl());
|
||||
loc.setText(user.getLocation());
|
||||
bio.setText(user.getDescription());
|
||||
username.setText(user.getUsername());
|
||||
profileUrl.setText(user.getProfileUrl());
|
||||
location.setText(user.getLocation());
|
||||
userDescription.setText(user.getDescription());
|
||||
this.user = user;
|
||||
}
|
||||
}
|
@ -187,9 +187,9 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
||||
if (settings.getLogin().getApiType() != Account.API_TWITTER) {
|
||||
enableTwitterAlt.setVisibility(GONE);
|
||||
EnableTwitterAltDescr.setVisibility(GONE);
|
||||
trend_card.setVisibility(GONE);
|
||||
}
|
||||
if (!settings.isLoggedIn()) {
|
||||
trend_card.setVisibility(GONE);
|
||||
user_card.setVisibility(GONE);
|
||||
}
|
||||
if (!settings.isProxyEnabled()) {
|
||||
@ -244,7 +244,7 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
if (settings.isLoggedIn() && locationAsync == null) {
|
||||
if (settings.getLogin().getApiType() == Account.API_TWITTER && locationAsync == null) {
|
||||
locationAsync = new LocationLoader(this);
|
||||
locationAsync.execute();
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ import org.nuclearfog.twidda.backend.utils.ErrorHandler;
|
||||
import org.nuclearfog.twidda.backend.utils.PicassoBuilder;
|
||||
import org.nuclearfog.twidda.backend.utils.StringTools;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
import org.nuclearfog.twidda.model.Account;
|
||||
import org.nuclearfog.twidda.model.Card;
|
||||
import org.nuclearfog.twidda.model.Location;
|
||||
import org.nuclearfog.twidda.model.Media;
|
||||
@ -324,7 +325,8 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
||||
}
|
||||
if (status.getAuthor().isCurrentUser()) {
|
||||
optDelete.setVisible(true);
|
||||
if (new Date().getTime() - status.getTimestamp() < 2419200000L) {
|
||||
long currentTime = new Date().getTime();
|
||||
if (settings.getLogin().getApiType() == Account.API_TWITTER && currentTime - status.getTimestamp() < 2419200000L) {
|
||||
optMetrics.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,7 @@
|
||||
tools:context=".ui.activities.ProfileEditor">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/edit_banner"
|
||||
android:id="@+id/profile_edit_banner"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:contentDescription="@string/profile_banner"
|
||||
@ -21,42 +21,42 @@
|
||||
app:layout_constraintDimensionRatio="3.0" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/edit_add_banner"
|
||||
android:id="@+id/profile_edit_add_banner"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/editprofile_button_height"
|
||||
android:visibility="invisible"
|
||||
android:paddingLeft="@dimen/editprofile_button_padding"
|
||||
android:paddingRight="@dimen/editprofile_button_padding"
|
||||
android:text="@string/editprofile_add_banner"
|
||||
app:layout_constraintStart_toStartOf="@id/edit_banner"
|
||||
app:layout_constraintTop_toBottomOf="@id/editprofile_toolbar_background"
|
||||
app:layout_constraintBottom_toBottomOf="@id/edit_banner"
|
||||
app:layout_constraintEnd_toEndOf="@id/edit_banner"
|
||||
app:layout_constraintStart_toStartOf="@id/profile_edit_banner"
|
||||
app:layout_constraintTop_toBottomOf="@id/profile_edit_toolbar_background"
|
||||
app:layout_constraintBottom_toBottomOf="@id/profile_edit_banner"
|
||||
app:layout_constraintEnd_toEndOf="@id/profile_edit_banner"
|
||||
style="@style/FeedbackButton" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/edit_change_banner"
|
||||
android:id="@+id/profile_edit_change_banner"
|
||||
android:layout_width="@dimen/editprofile_add_btn_size"
|
||||
android:layout_height="@dimen/editprofile_add_btn_size"
|
||||
android:contentDescription="@string/descr_add_profile_image"
|
||||
android:src="@drawable/add"
|
||||
app:layout_constraintStart_toStartOf="@id/edit_add_banner"
|
||||
app:layout_constraintTop_toTopOf="@id/edit_add_banner"
|
||||
app:layout_constraintBottom_toBottomOf="@id/edit_add_banner"
|
||||
app:layout_constraintEnd_toEndOf="@id/edit_add_banner" />
|
||||
app:layout_constraintStart_toStartOf="@id/profile_edit_add_banner"
|
||||
app:layout_constraintTop_toTopOf="@id/profile_edit_add_banner"
|
||||
app:layout_constraintBottom_toBottomOf="@id/profile_edit_add_banner"
|
||||
app:layout_constraintEnd_toEndOf="@id/profile_edit_add_banner" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/editprofile_toolbar_background"
|
||||
android:id="@+id/profile_edit_toolbar_background"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/edit_banner"
|
||||
app:layout_constraintBottom_toBottomOf="@id/editprofile_toolbar"
|
||||
app:layout_constraintTop_toTopOf="@id/profile_edit_banner"
|
||||
app:layout_constraintBottom_toBottomOf="@id/edit_profile_toolbar"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/editprofile_toolbar"
|
||||
android:id="@+id/edit_profile_toolbar"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/editprofile_toolbar_height"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@ -64,34 +64,34 @@
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/edit_pb"
|
||||
android:id="@+id/edit_profile_image"
|
||||
android:layout_width="@dimen/editprofile_image"
|
||||
android:layout_height="@dimen/editprofile_image"
|
||||
android:layout_marginStart="@dimen/editprofile_profile_image_left_margin"
|
||||
android:contentDescription="@string/image_preview"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_constraintStart_toStartOf="@id/edit_banner"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_banner"
|
||||
app:layout_constraintBottom_toBottomOf="@id/edit_banner" />
|
||||
app:layout_constraintStart_toStartOf="@id/profile_edit_banner"
|
||||
app:layout_constraintTop_toBottomOf="@id/profile_edit_banner"
|
||||
app:layout_constraintBottom_toBottomOf="@id/profile_edit_banner" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/profile_change_image_btn"
|
||||
android:id="@+id/eidt_profile_change_profile_image"
|
||||
android:layout_width="@dimen/editprofile_add_btn_size"
|
||||
android:layout_height="@dimen/editprofile_add_btn_size"
|
||||
android:contentDescription="@string/descr_add_profile_image"
|
||||
android:src="@drawable/add"
|
||||
app:layout_constraintStart_toStartOf="@id/edit_pb"
|
||||
app:layout_constraintTop_toTopOf="@id/edit_pb"
|
||||
app:layout_constraintBottom_toBottomOf="@id/edit_pb"
|
||||
app:layout_constraintEnd_toEndOf="@id/edit_pb" />
|
||||
app:layout_constraintStart_toStartOf="@id/edit_profile_image"
|
||||
app:layout_constraintTop_toTopOf="@id/edit_profile_image"
|
||||
app:layout_constraintBottom_toBottomOf="@id/edit_profile_image"
|
||||
app:layout_constraintEnd_toEndOf="@id/edit_profile_image" />
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/editprofile_scroll"
|
||||
android:id="@+id/profile_edit_scroll"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="@dimen/editprofile_scrollview_margin"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_pb"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_profile_image"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
@ -103,13 +103,14 @@
|
||||
android:layout_marginEnd="@dimen/editprofile_layout_padding">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/profile_edit_change_name_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/editprofile_edittext_padding"
|
||||
android:text="@string/username" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_name"
|
||||
android:id="@+id/profile_edit_change_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/enter_username"
|
||||
@ -120,13 +121,14 @@
|
||||
style="@style/TextInput" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/profile_edit_change_location_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/editprofile_edittext_padding"
|
||||
android:text="@string/profile_location" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_location"
|
||||
android:id="@+id/profile_edit_change_location"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/edit_location_hint"
|
||||
@ -136,29 +138,31 @@
|
||||
style="@style/TextInput" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/profile_edit_change_url_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/editprofile_edittext_padding"
|
||||
android:text="@string/profile_link" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_link"
|
||||
android:id="@+id/profile_edit_change_url"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/edit_hint_link"
|
||||
android:importantForAutofill="no"
|
||||
android:inputType="textNoSuggestions"
|
||||
android:inputType="textUri"
|
||||
android:singleLine="true"
|
||||
style="@style/TextInput" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/profile_edit_change_description_label"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="@dimen/editprofile_edittext_padding"
|
||||
android:text="@string/profile_bio" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_bio"
|
||||
android:id="@+id/profile_edit_change_description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="top"
|
||||
|
Loading…
x
Reference in New Issue
Block a user