Add support for adding tags
This commit is contained in:
4 files changed
+38
-22
No files matched your search
@@ -37,7 +37,6 @@ import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewAnimationUtils;
|
||||
@@ -55,6 +54,7 @@ import androidx.annotation.DrawableRes;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.PopupMenu;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
@@ -65,6 +65,7 @@ import androidx.transition.TransitionInflater;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.hippo.android.resource.AttrResources;
|
||||
import com.hippo.app.EditTextDialogBuilder;
|
||||
import com.hippo.beerbelly.BeerBelly;
|
||||
import com.hippo.ehviewer.AppConfig;
|
||||
import com.hippo.ehviewer.EhApplication;
|
||||
@@ -506,11 +507,11 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
|
||||
|
||||
@Override
|
||||
public boolean shouldBlockGesture(MotionEvent ev) {
|
||||
int[] point = new int[] {(int) ev.getX(), (int) ev.getY()};
|
||||
int[] point = new int[]{(int) ev.getX(), (int) ev.getY()};
|
||||
transformPointToViewLocal(point, actionsScrollView);
|
||||
return !isDrawersVisible()
|
||||
&& point[0] > 0 && point[0] < actionsScrollView.getWidth()
|
||||
&& point[1] > 0 && point[1] < actionsScrollView.getHeight();
|
||||
&& point[0] > 0 && point[0] < actionsScrollView.getWidth()
|
||||
&& point[1] > 0 && point[1] < actionsScrollView.getHeight();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1064,26 +1065,33 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene
|
||||
PopupMenu popup = new PopupMenu(context, mOtherActions, Gravity.TOP);
|
||||
mPopupMenu = popup;
|
||||
popup.getMenuInflater().inflate(R.menu.scene_gallery_detail, popup.getMenu());
|
||||
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.action_open_in_other_app:
|
||||
String url = getGalleryDetailUrl(false);
|
||||
Activity activity = getActivity2();
|
||||
if (null != url && null != activity) {
|
||||
UrlOpener.openUrl(activity, url, false);
|
||||
}
|
||||
break;
|
||||
case R.id.action_refresh:
|
||||
if (mState != STATE_REFRESH && mState != STATE_REFRESH_HEADER) {
|
||||
adjustViewVisibility(STATE_REFRESH, true);
|
||||
request();
|
||||
}
|
||||
break;
|
||||
popup.setOnMenuItemClickListener(item -> {
|
||||
int itemId = item.getItemId();
|
||||
if (itemId == R.id.action_open_in_other_app) {
|
||||
String url = getGalleryDetailUrl(false);
|
||||
Activity activity = getActivity2();
|
||||
if (null != url && null != activity) {
|
||||
UrlOpener.openUrl(activity, url, false);
|
||||
}
|
||||
} else if (itemId == R.id.action_refresh) {
|
||||
if (mState != STATE_REFRESH && mState != STATE_REFRESH_HEADER) {
|
||||
adjustViewVisibility(STATE_REFRESH, true);
|
||||
request();
|
||||
}
|
||||
} else if (itemId == R.id.action_add_tag) {
|
||||
if (mGalleryDetail != null) {
|
||||
EditTextDialogBuilder builder = new EditTextDialogBuilder(context, "", getString(R.string.action_add_tag_tip));
|
||||
builder.setPositiveButton(android.R.string.ok, null);
|
||||
AlertDialog dialog = builder.setTitle(R.string.action_add_tag)
|
||||
.show();
|
||||
dialog.getButton(DialogInterface.BUTTON_POSITIVE)
|
||||
.setOnClickListener(v -> {
|
||||
voteTag(builder.getText().trim(), 1);
|
||||
dialog.dismiss();
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item
|
||||
android:id="@+id/action_add_tag"
|
||||
android:title="@string/action_add_tag" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_refresh"
|
||||
android:title="@string/refresh" />
|
||||
|
||||
@@ -741,4 +741,6 @@
|
||||
<string name="settings_e_ink_mode_title">墨水屏模式</string>
|
||||
<string name="settings_e_ink_mode_summary">为墨水屏做一些优化</string>
|
||||
<string name="settings_advanced_clear_memory_cache_done">完成内存缓存清理</string>
|
||||
<string name="action_add_tag">添加标签</string>
|
||||
<string name="action_add_tag_tip">添加新标签,用逗号「,」分割</string>
|
||||
</resources>
|
||||
@@ -805,4 +805,6 @@
|
||||
<string name="settings_e_ink_mode_title">E-Ink mode</string>
|
||||
<string name="settings_e_ink_mode_summary">Some optimizations for the ink screen.</string>
|
||||
<string name="settings_advanced_clear_memory_cache_done">Memory cache cleaning completed</string>
|
||||
<string name="action_add_tag">Add tag</string>
|
||||
<string name="action_add_tag_tip">Enter new tags, separated with comma</string>
|
||||
</resources>
|
||||
Reference in new issue
Block a user