diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/MyScriptListFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/MyScriptListFragment.java index c74d9781..7b0a16a9 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/MyScriptListFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/MyScriptListFragment.java @@ -125,7 +125,8 @@ public class MyScriptListFragment extends ViewPagerFragment implements BackPress @Override public void onDetach() { super.onDetach(); - mFloatingActionMenu.setOnFloatingActionButtonClickListener(null); + if (mFloatingActionMenu != null) + mFloatingActionMenu.setOnFloatingActionButtonClickListener(null); } @Override diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/ScriptListView.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/ScriptListView.java index 8c340d2f..f25bc7d0 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/ScriptListView.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/scripts/ScriptListView.java @@ -11,6 +11,7 @@ import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.widget.ImageView; import android.widget.PopupMenu; import android.widget.TextView; @@ -316,6 +317,9 @@ public class ScriptListView extends SwipeRefreshLayout implements SwipeRefreshLa @BindView(R.id.title) TextView mTitle; + @BindView(R.id.sort) + ImageView mSort; + CategoryViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); @@ -326,5 +330,17 @@ public class ScriptListView extends SwipeRefreshLayout implements SwipeRefreshLa mTitle.setText(isDirCategory ? R.string.text_directory : R.string.text_file); } + @OnClick(R.id.order) + void changeSortOrder() { + + } + + @OnClick(R.id.sort) + void showSortOptions() { + PopupMenu popupMenu = new PopupMenu(getContext(), mSort); + popupMenu.inflate(R.menu.menu_sort_options); + popupMenu.setOnMenuItemClickListener(ScriptListView.this); + popupMenu.show(); + } } } diff --git a/app/src/main/res/layout/script_file_list_category.xml b/app/src/main/res/layout/script_file_list_category.xml index 40412703..3e55004b 100644 --- a/app/src/main/res/layout/script_file_list_category.xml +++ b/app/src/main/res/layout/script_file_list_category.xml @@ -35,6 +35,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 459842cf..d19a40d6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -249,6 +249,9 @@ 忘记密码 用户名不能为空 密码不能为空 + 时间 + 大小 + 类型 diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/Events.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/Events.java index fe436072..d070d92d 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/Events.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/Events.java @@ -213,10 +213,11 @@ public class Events extends EventEmitter implements OnKeyListener, TouchObserver @Override public void onNotification(final AccessibilityEvent event, final Notification notification) { + final NotificationInfo info = NotificationInfo.fromEvent(event); mHandler.post(new Runnable() { @Override public void run() { - emit("notification", NotificationInfo.fromEvent(event), notification); + emit("notification", info, notification); } }); diff --git a/automator/src/main/java/com/stardust/view/accessibility/NotificationListener.java b/automator/src/main/java/com/stardust/view/accessibility/NotificationListener.java index 7ce0f731..018a68ea 100644 --- a/automator/src/main/java/com/stardust/view/accessibility/NotificationListener.java +++ b/automator/src/main/java/com/stardust/view/accessibility/NotificationListener.java @@ -34,10 +34,12 @@ public interface NotificationListener { } public NotificationInfo(CharSequence packageName, List list) { - mPackageName = packageName.toString(); + mPackageName = packageName == null ? "" : packageName.toString(); mTexts = new ArrayList<>(list.size()); for (CharSequence text : list) { - mTexts.add(text.toString()); + if (text != null) { + mTexts.add(text.toString()); + } } if (mTexts.size() > 0) { mText = mTexts.get(0);