bug fix
This commit is contained in:
parent
b3edb7d647
commit
253f6339ee
|
@ -43,7 +43,7 @@ android {
|
|||
|
||||
proguardDictionaries {
|
||||
dictionaryNames = ['dict/class-dictionary', 'dict/package-dictionary', 'dict/obfuscation-dictionary']
|
||||
minLineLength 4
|
||||
minLineLength 2
|
||||
maxLineLength 8
|
||||
linesCountInDictionary 50000
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ public class AccountActivity extends AppCompatActivity implements ActivityResult
|
|||
m.findItem(R.id.action_add_account).setVisible(!disableSelector);
|
||||
// theme icons
|
||||
AppStyles.setMenuIconColor(m, settings.getIconColor());
|
||||
return super.onCreateOptionsMenu(m);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ public class ImageViewer extends MediaActivity implements AsyncCallback<ImageRes
|
|||
getMenuInflater().inflate(R.menu.image, menu);
|
||||
AppStyles.setMenuIconColor(menu, settings.getIconColor());
|
||||
menu.findItem(R.id.menu_image_save).setVisible(enableSave);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -150,6 +150,7 @@ public class ImageViewer extends MediaActivity implements AsyncCallback<ImageRes
|
|||
if (item.getItemId() == R.id.menu_image_save) {
|
||||
if (cacheUri != null) {
|
||||
storeImage(cacheUri);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
|
|
@ -146,7 +146,7 @@ public class LoginActivity extends AppCompatActivity implements ActivityResultCa
|
|||
getMenuInflater().inflate(R.menu.login, m);
|
||||
AppStyles.setMenuIconColor(m, settings.getIconColor());
|
||||
m.findItem(R.id.login_select_account).setVisible(!settings.isLoggedIn());
|
||||
return super.onCreateOptionsMenu(m);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -158,12 +158,14 @@ public class LoginActivity extends AppCompatActivity implements ActivityResultCa
|
|||
activityResultLauncher.launch(intent);
|
||||
// notify MainActivity that settings may changed
|
||||
setResult(RETURN_SETTINGS_CHANGED);
|
||||
return true;
|
||||
}
|
||||
// open account selector
|
||||
else if (item.getItemId() == R.id.login_select_account) {
|
||||
Intent accountManager = new Intent(this, AccountActivity.class);
|
||||
accountManager.putExtra(KEY_DISABLE_SELECTOR, true);
|
||||
activityResultLauncher.launch(accountManager);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
|
|
@ -145,7 +145,7 @@ public class MainActivity extends AppCompatActivity implements ActivityResultCal
|
|||
MenuItem search = menu.findItem(R.id.menu_search);
|
||||
SearchView searchView = (SearchView) search.getActionView();
|
||||
searchView.setOnQueryTextListener(this);
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -155,7 +155,7 @@ public class MainActivity extends AppCompatActivity implements ActivityResultCal
|
|||
MenuItem search = menu.findItem(R.id.menu_search);
|
||||
message.setVisible(settings.getLogin().getConfiguration().directmessageSupported());
|
||||
search.collapseActionView();
|
||||
return super.onPrepareOptionsMenu(menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -166,31 +166,37 @@ public class MainActivity extends AppCompatActivity implements ActivityResultCal
|
|||
Intent user = new Intent(this, ProfileActivity.class);
|
||||
user.putExtra(KEY_PROFILE_ID, settings.getLogin().getId());
|
||||
startActivity(user);
|
||||
return true;
|
||||
}
|
||||
// open status editor
|
||||
else if (item.getItemId() == R.id.menu_post) {
|
||||
Intent intent = new Intent(this, StatusEditor.class);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
// open app settings
|
||||
else if (item.getItemId() == R.id.menu_settings) {
|
||||
Intent settings = new Intent(this, SettingsActivity.class);
|
||||
activityResultLauncher.launch(settings);
|
||||
return true;
|
||||
}
|
||||
// theme expanded search view
|
||||
else if (item.getItemId() == R.id.menu_search) {
|
||||
SearchView searchView = (SearchView) item.getActionView();
|
||||
AppStyles.setTheme(searchView, Color.TRANSPARENT);
|
||||
return true;
|
||||
}
|
||||
// open message editor
|
||||
else if (item.getItemId() == R.id.menu_message) {
|
||||
Intent intent = new Intent(this, MessageEditor.class);
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
// open account manager
|
||||
else if (item.getItemId() == R.id.menu_account) {
|
||||
Intent accountManager = new Intent(this, AccountActivity.class);
|
||||
activityResultLauncher.launch(accountManager);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
|
|
@ -330,6 +330,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(@NonNull Menu m) {
|
||||
boolean result = super.onPrepareOptionsMenu(m);
|
||||
if (user != null) {
|
||||
MenuItem listItem = m.findItem(R.id.profile_lists);
|
||||
|
||||
|
@ -367,6 +368,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
blockIcon.setVisible(true);
|
||||
muteIcon.setVisible(true);
|
||||
}
|
||||
result = true;
|
||||
}
|
||||
if (relation != null) {
|
||||
if (relation.isFollowing()) {
|
||||
|
@ -389,8 +391,9 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
if (relation.isFollower()) {
|
||||
follow_back.setVisibility(VISIBLE);
|
||||
}
|
||||
result = true;
|
||||
}
|
||||
return super.onPrepareOptionsMenu(m);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
@ -405,6 +408,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
intent.putExtra(KEY_STATUS_EDITOR_TEXT, prefix);
|
||||
}
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
// follow / unfollow user
|
||||
else if (item.getItemId() == R.id.profile_follow) {
|
||||
|
@ -418,6 +422,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
confirmDialog.show(ConfirmDialog.PROFILE_UNFOLLOW);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// mute user
|
||||
else if (item.getItemId() == R.id.profile_mute) {
|
||||
|
@ -431,6 +436,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
confirmDialog.show(ConfirmDialog.PROFILE_MUTE);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// block user
|
||||
else if (item.getItemId() == R.id.profile_block) {
|
||||
|
@ -444,6 +450,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
confirmDialog.show(ConfirmDialog.PROFILE_BLOCK);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// open profile editor
|
||||
else if (item.getItemId() == R.id.profile_settings) {
|
||||
|
@ -457,6 +464,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
if (user != null && !user.isCurrentUser())
|
||||
intent.putExtra(KEY_DM_PREFIX, user.getScreenname());
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
// open users list
|
||||
else if (item.getItemId() == R.id.profile_lists) {
|
||||
|
@ -465,12 +473,14 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
|
|||
intent.putExtra(KEY_USERLIST_OWNER_ID, user.getId());
|
||||
startActivity(intent);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// open request list
|
||||
else if (item.getItemId() == R.id.profile_requests) {
|
||||
Intent usersIntent = new Intent(this, UsersActivity.class);
|
||||
usersIntent.putExtra(KEY_USERS_MODE, USERS_REQUESTS);
|
||||
startActivity(usersIntent);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
|
|
@ -123,17 +123,20 @@ public class SearchActivity extends AppCompatActivity implements OnTabSelectedLi
|
|||
if (search.startsWith("#"))
|
||||
intent.putExtra(KEY_STATUS_EDITOR_TEXT, search + " ");
|
||||
startActivity(intent);
|
||||
return true;
|
||||
}
|
||||
// theme expanded search view
|
||||
else if (item.getItemId() == R.id.new_search) {
|
||||
SearchView searchView = (SearchView) item.getActionView();
|
||||
AppStyles.setTheme(searchView, Color.TRANSPARENT);
|
||||
return true;
|
||||
}
|
||||
// enable/disable search filter
|
||||
else if (item.getItemId() == R.id.search_filter) {
|
||||
boolean enable = !settings.filterResults();
|
||||
settings.setFilterResults(enable);
|
||||
item.setChecked(enable);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -145,10 +148,11 @@ public class SearchActivity extends AppCompatActivity implements OnTabSelectedLi
|
|||
Intent search = new Intent(this, SearchActivity.class);
|
||||
search.putExtra(KEY_SEARCH_QUERY, s);
|
||||
startActivity(search);
|
||||
return true;
|
||||
} else {
|
||||
Toast.makeText(getApplicationContext(), R.string.error_twitter_search, Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -470,8 +470,9 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||
copyMenu.add(MENU_GROUP_COPY, i, Menu.NONE, text);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
return super.onPrepareOptionsMenu(m);
|
||||
}
|
||||
|
||||
|
||||
|
@ -486,6 +487,7 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||
// Delete status option
|
||||
if (item.getItemId() == R.id.menu_status_delete) {
|
||||
confirmDialog.show(ConfirmDialog.DELETE_STATUS);
|
||||
return true;
|
||||
}
|
||||
// add/remove bookmark
|
||||
if (item.getItemId() == R.id.menu_status_bookmark) {
|
||||
|
@ -493,12 +495,14 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||
int mode = status.isBookmarked() ? StatusParam.UNBOOKMARK : StatusParam.BOOKMARK;
|
||||
StatusParam param = new StatusParam(mode, status.getId());
|
||||
statusLoader.execute(param, statusCallback);
|
||||
return true;
|
||||
}
|
||||
// hide status
|
||||
else if (item.getItemId() == R.id.menu_status_hide) {
|
||||
int mode = hidden ? StatusParam.UNHIDE : StatusParam.HIDE;
|
||||
StatusParam param = new StatusParam(mode, status.getId());
|
||||
statusLoader.execute(param, statusCallback);
|
||||
return true;
|
||||
}
|
||||
// get status link
|
||||
else if (item.getItemId() == R.id.menu_status_browser) {
|
||||
|
@ -508,6 +512,7 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||
} catch (ActivityNotFoundException err) {
|
||||
Toast.makeText(getApplicationContext(), R.string.error_connection_failed, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// copy status link to clipboard
|
||||
else if (item.getItemId() == R.id.menu_status_copy_text) {
|
||||
|
@ -516,6 +521,7 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||
clip.setPrimaryClip(linkClip);
|
||||
Toast.makeText(getApplicationContext(), R.string.info_status_text_copied, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// copy status link to clipboard
|
||||
else if (item.getItemId() == R.id.menu_status_copy_link) {
|
||||
|
@ -524,6 +530,7 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||
clip.setPrimaryClip(linkClip);
|
||||
Toast.makeText(getApplicationContext(), R.string.info_status_link_copied, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// open status metrics page
|
||||
else if (item.getItemId() == R.id.menu_status_metrics) {
|
||||
|
@ -542,8 +549,9 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
|
|||
Toast.makeText(getApplicationContext(), R.string.info_status_medialink_copied, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -212,6 +212,7 @@ public class UserlistActivity extends AppCompatActivity implements ActivityResul
|
|||
followList.setTitle(R.string.menu_list_follow);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return super.onPrepareOptionsMenu(m);
|
||||
}
|
||||
|
@ -225,10 +226,12 @@ public class UserlistActivity extends AppCompatActivity implements ActivityResul
|
|||
Intent editList = new Intent(this, UserlistEditor.class);
|
||||
editList.putExtra(KEY_LIST_EDITOR_DATA, userList);
|
||||
activityResultLauncher.launch(editList);
|
||||
return true;
|
||||
}
|
||||
// delete user list
|
||||
else if (item.getItemId() == R.id.menu_delete_list) {
|
||||
confirmDialog.show(ConfirmDialog.LIST_DELETE);
|
||||
return true;
|
||||
}
|
||||
// follow user list
|
||||
else if (item.getItemId() == R.id.menu_follow_list) {
|
||||
|
@ -238,11 +241,13 @@ public class UserlistActivity extends AppCompatActivity implements ActivityResul
|
|||
ListActionParam param = new ListActionParam(ListActionParam.FOLLOW, userList.getId());
|
||||
listLoaderAsync.execute(param, userlistSet);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
// theme expanded search view
|
||||
else if (item.getItemId() == R.id.menu_list_add_user) {
|
||||
SearchView searchView = (SearchView) item.getActionView();
|
||||
AppStyles.setTheme(searchView, Color.TRANSPARENT);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
|
|
|
@ -119,12 +119,14 @@ public class UserlistsActivity extends AppCompatActivity implements ActivityResu
|
|||
if (item.getItemId() == R.id.list_create) {
|
||||
Intent createList = new Intent(this, UserlistEditor.class);
|
||||
activityResultLauncher.launch(createList);
|
||||
return true;
|
||||
}
|
||||
// open mute/block list
|
||||
else if (item.getItemId() == R.id.list_blocklists) {
|
||||
Intent usersIntent = new Intent(this, UsersActivity.class);
|
||||
usersIntent.putExtra(KEY_USERS_MODE, USERS_EXCLUDED);
|
||||
startActivity(usersIntent);
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
|
|||
private static final Pattern USERNAME_PATTERN = Pattern.compile("@?\\w{1,15}");
|
||||
|
||||
private GlobalSettings settings;
|
||||
private FilterLoader filterAsync;
|
||||
private FilterLoader filterLoader;
|
||||
private FragmentAdapter adapter;
|
||||
|
||||
private Toolbar toolbar;
|
||||
|
@ -116,16 +116,16 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
|
|||
@Override
|
||||
protected void onCreate(Bundle savedInst) {
|
||||
super.onCreate(savedInst);
|
||||
setContentView(R.layout.page_exclude);
|
||||
ViewGroup root = findViewById(R.id.page_exclude_root);
|
||||
toolbar = findViewById(R.id.page_exclude_toolbar);
|
||||
setContentView(R.layout.page_users);
|
||||
ViewGroup root = findViewById(R.id.page_users_root);
|
||||
toolbar = findViewById(R.id.page_users_toolbar);
|
||||
tabSelector = findViewById(R.id.page_exclude_tab);
|
||||
viewPager = findViewById(R.id.page_exclude_pager);
|
||||
viewPager = findViewById(R.id.page_users_pager);
|
||||
|
||||
filterAsync = new FilterLoader(this);
|
||||
filterLoader = new FilterLoader(this);
|
||||
settings = GlobalSettings.getInstance(this);
|
||||
adapter = new FragmentAdapter(this);
|
||||
//pager.setAdapter(adapter);
|
||||
viewPager.setAdapter(adapter);
|
||||
|
||||
mode = getIntent().getIntExtra(KEY_USERS_MODE, 0);
|
||||
long id = getIntent().getLongExtra(KEY_USERS_ID, 0L);
|
||||
|
@ -205,9 +205,9 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
|
|||
AppStyles.setTheme(searchView, Color.TRANSPARENT);
|
||||
AppStyles.setMenuIconColor(m, settings.getIconColor());
|
||||
AppStyles.setOverflowIcon(toolbar, settings.getIconColor());
|
||||
return super.onCreateOptionsMenu(m);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return super.onCreateOptionsMenu(m);
|
||||
}
|
||||
|
||||
|
||||
|
@ -222,20 +222,21 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
|
|||
String hint = getString(R.string.menu_hint_block_user);
|
||||
searchView.setQueryHint(hint);
|
||||
}
|
||||
return super.onPrepareOptionsMenu(m);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return super.onPrepareOptionsMenu(m);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == R.id.menu_exclude_refresh) {
|
||||
if (filterAsync.isIdle()) {
|
||||
if (filterLoader.isIdle()) {
|
||||
Toast.makeText(getApplicationContext(), R.string.info_refreshing_exclude_list, Toast.LENGTH_SHORT).show();
|
||||
FilterParam param = new FilterParam(FilterParam.RELOAD);
|
||||
filterAsync.execute(param, this);
|
||||
filterLoader.execute(param, this);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
@ -252,13 +253,13 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
|
|||
@Override
|
||||
public boolean onQueryTextSubmit(String query) {
|
||||
if (USERNAME_PATTERN.matcher(query).matches()) {
|
||||
if (filterAsync.isIdle()) {
|
||||
if (filterLoader.isIdle()) {
|
||||
if (viewPager.getCurrentItem() == 0) {
|
||||
FilterParam param = new FilterParam(FilterParam.MUTE, query);
|
||||
filterAsync.execute(param, this);
|
||||
filterLoader.execute(param, this);
|
||||
} else if (viewPager.getCurrentItem() == 1) {
|
||||
FilterParam param = new FilterParam(FilterParam.BLOCK, query);
|
||||
filterAsync.execute(param, this);
|
||||
filterLoader.execute(param, this);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.nuclearfog.twidda.ui.views;
|
|||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
|
||||
|
@ -101,7 +102,12 @@ public class TabSelector extends LinearLayout implements OnClickListener, OnGlob
|
|||
tabItemView.requestLayout();
|
||||
}
|
||||
// set indicator size
|
||||
LayoutParams params = new LayoutParams(getMeasuredWidth() / Math.max(tabCount, 1), 5);
|
||||
if (tabCount == 1) {
|
||||
setHorizontalGravity(Gravity.CENTER_HORIZONTAL);
|
||||
} else {
|
||||
setHorizontalGravity(Gravity.START);
|
||||
}
|
||||
LayoutParams params = new LayoutParams(getMeasuredWidth() / Math.max(tabCount, 2), 5);
|
||||
indicator.setLayoutParams(params);
|
||||
indicator.setBackgroundColor(settings.getHighlightColor());
|
||||
indicator.requestLayout();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/page_exclude_root"
|
||||
android:id="@+id/page_users_root"
|
||||
android:fitsSystemWindows="true"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -9,7 +9,7 @@
|
|||
tools:context=".ui.activities.UsersActivity">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/page_exclude_toolbar"
|
||||
android:id="@+id/page_users_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
android:layout_height="@dimen/tabselector_height" />
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/page_exclude_pager"
|
||||
android:id="@+id/page_users_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:ignore="SpeakableTextPresentCheck" />
|
Loading…
Reference in New Issue