add: manager tab
This commit is contained in:
@@ -39,33 +39,4 @@ public class LogActivity extends BaseActivity {
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
public static class ConsoleView extends Console {
|
||||
|
||||
public ConsoleView(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public ConsoleView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public ConsoleView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
public ConsoleView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
findViewById(R.id.console_scroll_view).setBackgroundColor(Color.WHITE);
|
||||
((TextView) findViewById(R.id.console_text)).setTextIsSelectable(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.stardust.scriptdroid.ui.console;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.jraska.console.Console;
|
||||
import com.stardust.scriptdroid.R;
|
||||
|
||||
/**
|
||||
* Created by Stardust on 2017/8/22.
|
||||
*/
|
||||
|
||||
public class LogView extends Console {
|
||||
|
||||
public LogView(Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public LogView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public LogView(Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
public LogView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
findViewById(R.id.console_scroll_view).setBackgroundColor(Color.WHITE);
|
||||
((TextView) findViewById(R.id.console_text)).setTextIsSelectable(true);
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,9 @@ import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.design.widget.TabLayout;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v4.widget.DrawerLayout;
|
||||
import android.support.v7.app.ActionBarDrawerToggle;
|
||||
@@ -33,7 +35,6 @@ import com.stardust.scriptdroid.script.ScriptFile;
|
||||
import com.stardust.scriptdroid.script.StorageFileProvider;
|
||||
import com.stardust.scriptdroid.ui.common.ScriptOperations;
|
||||
import com.stardust.scriptdroid.ui.main.community.CommunityFragment;
|
||||
import com.stardust.scriptdroid.ui.main.doc.OnlineDocsFragment;
|
||||
import com.stardust.scriptdroid.ui.main.doc.OnlineDocsFragment_;
|
||||
import com.stardust.scriptdroid.ui.main.script_list.MyScriptListFragment_;
|
||||
import com.stardust.scriptdroid.ui.main.task.TaskManagerFragment_;
|
||||
@@ -41,8 +42,6 @@ import com.stardust.util.DeveloperUtils;
|
||||
import com.stardust.scriptdroid.tool.AccessibilityServiceTool;
|
||||
import com.stardust.scriptdroid.tool.DrawableSaver;
|
||||
import com.stardust.scriptdroid.ui.BaseActivity;
|
||||
import com.stardust.scriptdroid.ui.main.sample_list.SampleScriptListFragment;
|
||||
import com.stardust.scriptdroid.ui.main.script_list.MyScriptListFragment;
|
||||
import com.stardust.scriptdroid.ui.main.script_list.ScriptFileChooserDialogBuilder;
|
||||
import com.stardust.scriptdroid.ui.settings.SettingsActivity_;
|
||||
import com.stardust.scriptdroid.ui.update.VersionGuard;
|
||||
@@ -72,8 +71,10 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
|
||||
SlidingUpPanel mAddBottomMenuPanel;
|
||||
@ViewById(R.id.viewpager)
|
||||
ViewPager mViewPager;
|
||||
private FragmentPagerAdapterBuilder.StoredFragmentPagerAdapter mPagerAdapter;
|
||||
@ViewById(R.id.fab)
|
||||
FloatingActionButton mFab;
|
||||
|
||||
private FragmentPagerAdapterBuilder.StoredFragmentPagerAdapter mPagerAdapter;
|
||||
private OnActivityResultDelegate.Mediator mActivityResultMediator = new OnActivityResultDelegate.Mediator();
|
||||
private DrawableSaver mDrawerHeaderBackgroundSaver;
|
||||
private VersionGuard mVersionGuard;
|
||||
@@ -182,6 +183,15 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega
|
||||
.build();
|
||||
mViewPager.setAdapter(mPagerAdapter);
|
||||
tabLayout.setupWithViewPager(mViewPager);
|
||||
mViewPager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
Fragment fragment = mPagerAdapter.getStoredFragment(position);
|
||||
if (fragment == null)
|
||||
return;
|
||||
((ViewPagerFragment) fragment).setUpWithFab(mViewPager, mFab);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Click(R.id.create_new_file)
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.stardust.scriptdroid.ui.main;
|
||||
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.view.ViewPager;
|
||||
|
||||
/**
|
||||
* Created by Stardust on 2017/8/22.
|
||||
*/
|
||||
|
||||
public interface ViewPagerFragment {
|
||||
|
||||
void setUpWithFab(ViewPager pager, FloatingActionButton fab);
|
||||
|
||||
}
|
||||
@@ -1,10 +1,29 @@
|
||||
package com.stardust.scriptdroid.ui.main.community;
|
||||
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v4.view.animation.FastOutSlowInInterpolator;
|
||||
import android.view.View;
|
||||
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.ui.main.ViewPagerFragment;
|
||||
|
||||
/**
|
||||
* Created by Stardust on 2017/8/22.
|
||||
*/
|
||||
|
||||
public class CommunityFragment extends Fragment {
|
||||
public class CommunityFragment extends Fragment implements ViewPagerFragment {
|
||||
@Override
|
||||
public void setUpWithFab(ViewPager pager, FloatingActionButton fab) {
|
||||
if (fab.getVisibility() != View.VISIBLE) {
|
||||
fab.show();
|
||||
return;
|
||||
}
|
||||
fab.animate()
|
||||
.rotation(0)
|
||||
.setDuration(300)
|
||||
.setInterpolator(new FastOutSlowInInterpolator())
|
||||
.start();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,10 +2,14 @@ package com.stardust.scriptdroid.ui.main.doc;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.view.View;
|
||||
import android.webkit.WebView;
|
||||
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.ui.main.ViewPagerFragment;
|
||||
import com.stardust.util.BackPressedHandler;
|
||||
import com.stardust.widget.EWebView;
|
||||
|
||||
@@ -17,7 +21,7 @@ import org.androidannotations.annotations.ViewById;
|
||||
* Created by Stardust on 2017/8/22.
|
||||
*/
|
||||
@EFragment(R.layout.fragment_online_docs)
|
||||
public class OnlineDocsFragment extends Fragment implements BackPressedHandler {
|
||||
public class OnlineDocsFragment extends Fragment implements BackPressedHandler, ViewPagerFragment {
|
||||
|
||||
@ViewById(R.id.eweb_view)
|
||||
EWebView mEWebView;
|
||||
@@ -53,4 +57,11 @@ public class OnlineDocsFragment extends Fragment implements BackPressedHandler {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUpWithFab(ViewPager pager, FloatingActionButton fab) {
|
||||
if (fab.getVisibility() == View.VISIBLE) {
|
||||
fab.hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
package com.stardust.scriptdroid.ui.main.script_list;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.design.widget.Snackbar;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v4.view.animation.FastOutSlowInInterpolator;
|
||||
import android.view.View;
|
||||
|
||||
import com.afollestad.materialdialogs.DialogAction;
|
||||
@@ -14,6 +17,7 @@ import com.stardust.scriptdroid.script.Scripts;
|
||||
import com.stardust.scriptdroid.script.StorageFileProvider;
|
||||
import com.stardust.scriptdroid.ui.common.ScriptLoopDialog;
|
||||
import com.stardust.scriptdroid.ui.edit.ScriptEditView;
|
||||
import com.stardust.scriptdroid.ui.main.ViewPagerFragment;
|
||||
|
||||
import org.androidannotations.annotations.AfterViews;
|
||||
import org.androidannotations.annotations.EFragment;
|
||||
@@ -32,7 +36,7 @@ import io.reactivex.schedulers.Schedulers;
|
||||
* Created by Stardust on 2017/3/13.
|
||||
*/
|
||||
@EFragment(R.layout.fragment_my_script_list)
|
||||
public class MyScriptListFragment extends Fragment {
|
||||
public class MyScriptListFragment extends Fragment implements ViewPagerFragment {
|
||||
|
||||
private static final String TAG = "MyScriptListFragment";
|
||||
|
||||
@@ -140,4 +144,16 @@ public class MyScriptListFragment extends Fragment {
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setUpWithFab(ViewPager pager, FloatingActionButton fab) {
|
||||
if (fab.getVisibility() != View.VISIBLE) {
|
||||
fab.show();
|
||||
return;
|
||||
}
|
||||
fab.animate()
|
||||
.rotation(0)
|
||||
.setDuration(300)
|
||||
.setInterpolator(new FastOutSlowInInterpolator())
|
||||
.start();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.stardust.autojs.script.AutoFileSource;
|
||||
import com.stardust.pio.PFile;
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.script.ScriptFile;
|
||||
@@ -178,7 +179,7 @@ public class ScriptListView extends SwipeRefreshLayout implements SwipeRefreshLa
|
||||
}
|
||||
}
|
||||
|
||||
class ScriptFileViewHolder extends BindableViewHolder<ScriptFile> {
|
||||
class ScriptFileViewHolder extends BindableViewHolder<ScriptFile> {
|
||||
|
||||
|
||||
@BindView(R.id.name)
|
||||
@@ -203,17 +204,16 @@ public class ScriptListView extends SwipeRefreshLayout implements SwipeRefreshLa
|
||||
mDesc.setText(PFile.getHumanReadableSize(file.length()));
|
||||
if (file.getType() == ScriptFile.TYPE_JAVA_SCRIPT) {
|
||||
mFirstChar.setText("J");
|
||||
//什么?裸写颜色代码?!不影响代码可读性和重构成本的情况下,这样子修改起来方便多啦
|
||||
mFirstCharBackground.setColor(0xFF99CC99);
|
||||
mFirstCharBackground.setColor(getResources().getColor(R.color.color_j));
|
||||
} else {
|
||||
mFirstChar.setText("R");
|
||||
mFirstCharBackground.setColor(0xFFFD999A);
|
||||
mFirstCharBackground.setColor(getResources().getColor(R.color.color_r));
|
||||
}
|
||||
}
|
||||
|
||||
@OnClick(R.id.item)
|
||||
void onItemClick() {
|
||||
if(mOnScriptFileClickListener != null){
|
||||
if (mOnScriptFileClickListener != null) {
|
||||
mOnScriptFileClickListener.onScriptFileClick(itemView, mScriptFile);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.stardust.scriptdroid.ui.main.task;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.GradientDrawable;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.ThemeColorRecyclerView;
|
||||
@@ -8,28 +9,28 @@ import android.util.AttributeSet;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
import android.workground.WrapContentLinearLayoutManager;
|
||||
|
||||
import com.stardust.autojs.ScriptEngineService;
|
||||
import com.stardust.autojs.engine.JavaScriptEngine;
|
||||
import com.stardust.autojs.engine.ScriptEngineManager;
|
||||
import com.stardust.autojs.execution.ScriptExecution;
|
||||
import com.stardust.autojs.execution.ScriptExecutionListener;
|
||||
import com.stardust.autojs.execution.SimpleScriptExecutionListener;
|
||||
import com.stardust.autojs.engine.ScriptEngine;
|
||||
import com.stardust.autojs.script.AutoFileSource;
|
||||
import com.stardust.autojs.script.JavaScriptSource;
|
||||
import com.stardust.autojs.script.ScriptSource;
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.autojs.AutoJs;
|
||||
import com.stardust.scriptdroid.script.ScriptFile;
|
||||
import com.yqritc.recyclerviewflexibledivider.HorizontalDividerItemDecoration;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
|
||||
/**
|
||||
* Created by Stardust on 2017/3/24.
|
||||
*/
|
||||
@@ -44,29 +45,6 @@ public class TaskListRecyclerView extends ThemeColorRecyclerView implements Scri
|
||||
}
|
||||
};
|
||||
|
||||
private final OnClickListener mOnStopClickListener = new OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
int position = getChildViewHolder((View) v.getParent()).getAdapterPosition();
|
||||
if (position >= 0) {
|
||||
final ScriptEngine engine = mScriptEngines.get(position);
|
||||
engine.forceStop();
|
||||
|
||||
postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (!engine.isDestroyed()) {
|
||||
onScriptANR(engine);
|
||||
}
|
||||
}
|
||||
}, 3000);
|
||||
} else {
|
||||
updateEngineList();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
private final List<ScriptEngine> mScriptEngines = new ArrayList<>();
|
||||
private Adapter mAdapter;
|
||||
private final ScriptEngineService mScriptEngineService = AutoJs.getInstance().getScriptEngineService();
|
||||
@@ -106,7 +84,7 @@ public class TaskListRecyclerView extends ThemeColorRecyclerView implements Scri
|
||||
private void init() {
|
||||
setLayoutManager(new WrapContentLinearLayoutManager(getContext()));
|
||||
addItemDecoration(new HorizontalDividerItemDecoration.Builder(getContext())
|
||||
.color(0xffd9d9d9)
|
||||
.color(0xffEDEEEF)
|
||||
.size(2)
|
||||
.marginResId(R.dimen.script_and_folder_list_divider_left_margin, R.dimen.script_and_folder_list_divider_right_margin)
|
||||
.showLastDivider()
|
||||
@@ -186,7 +164,9 @@ public class TaskListRecyclerView extends ThemeColorRecyclerView implements Scri
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
holder.bind((ScriptSource) mScriptEngines.get(position).getTag(ScriptEngine.TAG_SOURCE));
|
||||
ScriptEngine engine = mScriptEngines.get(position);
|
||||
ScriptSource source = (ScriptSource) mScriptEngines.get(position).getTag(ScriptEngine.TAG_SOURCE);
|
||||
holder.bind(source, engine);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -195,30 +175,46 @@ public class TaskListRecyclerView extends ThemeColorRecyclerView implements Scri
|
||||
}
|
||||
}
|
||||
|
||||
private class ViewHolder extends RecyclerView.ViewHolder {
|
||||
class ViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
ImageView icon;
|
||||
TextView name, detail;
|
||||
View stop;
|
||||
@BindView(R.id.first_char)
|
||||
TextView mFirstChar;
|
||||
@BindView(R.id.name)
|
||||
TextView mName;
|
||||
@BindView(R.id.desc)
|
||||
TextView mDesc;
|
||||
|
||||
private ScriptEngine mScriptEngine;
|
||||
private GradientDrawable mFirstCharBackground;
|
||||
|
||||
ViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
itemView.setOnClickListener(mOnItemClickListenerProxy);
|
||||
name = (TextView) itemView.findViewById(R.id.name);
|
||||
detail = (TextView) itemView.findViewById(R.id.detail);
|
||||
icon = (ImageView) itemView.findViewById(R.id.icon);
|
||||
stop = itemView.findViewById(R.id.stop);
|
||||
stop.setOnClickListener(mOnStopClickListener);
|
||||
ButterKnife.bind(this, itemView);
|
||||
mFirstCharBackground = (GradientDrawable) mFirstChar.getBackground();
|
||||
}
|
||||
|
||||
public void bind(ScriptSource source) {
|
||||
public void bind(ScriptSource source, ScriptEngine engine) {
|
||||
mScriptEngine = engine;
|
||||
if (source == null)
|
||||
return;
|
||||
name.setText(source.getName());
|
||||
detail.setText(source.toString());
|
||||
mName.setText(source.getName());
|
||||
mDesc.setText(source.toString());
|
||||
//ignore android studio warning: use equals to compare string
|
||||
icon.setImageResource(source.getEngineName() == AutoFileSource.ENGINE ? R.drawable.record_icon_18
|
||||
: R.drawable.ic_node_js_black);
|
||||
if (source.getEngineName() == AutoFileSource.ENGINE) {
|
||||
mFirstChar.setText("R");
|
||||
mFirstCharBackground.setColor(getResources().getColor(R.color.color_r));
|
||||
} else {
|
||||
mFirstChar.setText("J");
|
||||
mFirstCharBackground.setColor(getResources().getColor(R.color.color_j));
|
||||
}
|
||||
}
|
||||
|
||||
@OnClick(R.id.stop)
|
||||
void stop() {
|
||||
if (mScriptEngine != null) {
|
||||
mScriptEngine.forceStop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,25 @@
|
||||
package com.stardust.scriptdroid.ui.main.task;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v4.view.animation.FastOutSlowInInterpolator;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.PopupMenu;
|
||||
import android.widget.TextView;
|
||||
import android.widget.ViewAnimator;
|
||||
|
||||
import com.jraska.console.Console;
|
||||
import com.stardust.scriptdroid.R;
|
||||
import com.stardust.scriptdroid.autojs.AutoJs;
|
||||
import com.stardust.scriptdroid.ui.console.LogView;
|
||||
import com.stardust.scriptdroid.ui.main.ViewPagerFragment;
|
||||
import com.stardust.widget.SimpleAdapterDataObserver;
|
||||
|
||||
import org.androidannotations.annotations.AfterViews;
|
||||
@@ -13,27 +27,54 @@ import org.androidannotations.annotations.Click;
|
||||
import org.androidannotations.annotations.EFragment;
|
||||
import org.androidannotations.annotations.ViewById;
|
||||
|
||||
import butterknife.OnClick;
|
||||
|
||||
/**
|
||||
* Created by Stardust on 2017/3/24.
|
||||
*/
|
||||
@EFragment(R.layout.fragment_task_manager)
|
||||
public class TaskManagerFragment extends Fragment {
|
||||
public class TaskManagerFragment extends Fragment implements PopupMenu.OnMenuItemClickListener, ViewPagerFragment {
|
||||
|
||||
@ViewById(R.id.task_list)
|
||||
TaskListRecyclerView mTaskListRecyclerView;
|
||||
@ViewById(R.id.close_all)
|
||||
View mCloseAllView;
|
||||
|
||||
@ViewById(R.id.notice_no_running_script)
|
||||
View mNoRunningScriptNotice;
|
||||
|
||||
@ViewById(R.id.swipe_refresh_layout)
|
||||
SwipeRefreshLayout mSwipeRefreshLayout;
|
||||
|
||||
@ViewById(R.id.task_manager_view)
|
||||
View mTaskManagerView;
|
||||
|
||||
@ViewById(R.id.log)
|
||||
View mLogView;
|
||||
|
||||
@ViewById(R.id.spinner)
|
||||
View mSpinner;
|
||||
|
||||
@ViewById(R.id.spinner_current_item)
|
||||
TextView mSpinnerCurrentItem;
|
||||
|
||||
private FloatingActionButton mFab;
|
||||
|
||||
private View.OnClickListener mOnFabClickListener = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mLogView.getVisibility() == View.VISIBLE) {
|
||||
Console.clear();
|
||||
} else {
|
||||
AutoJs.getInstance().getScriptEngineService().stopAll();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@AfterViews
|
||||
void setUpViews() {
|
||||
init();
|
||||
final boolean noRunningScript = mTaskListRecyclerView.getAdapter().getItemCount() == 0;
|
||||
mNoRunningScriptNotice.setVisibility(noRunningScript ? View.VISIBLE : View.GONE);
|
||||
mCloseAllView.setVisibility(noRunningScript ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
|
||||
private void init() {
|
||||
@@ -48,7 +89,6 @@ public class TaskManagerFragment extends Fragment {
|
||||
if (mNoRunningScriptNotice == null)
|
||||
return;
|
||||
mNoRunningScriptNotice.setVisibility(noRunningScript ? View.VISIBLE : View.GONE);
|
||||
mCloseAllView.setVisibility(noRunningScript ? View.GONE : View.VISIBLE);
|
||||
}
|
||||
}, 150);
|
||||
}
|
||||
@@ -69,8 +109,66 @@ public class TaskManagerFragment extends Fragment {
|
||||
});
|
||||
}
|
||||
|
||||
@Click(R.id.close_all)
|
||||
void closeAllRunningScripts() {
|
||||
AutoJs.getInstance().getScriptEngineService().stopAll();
|
||||
@Click(R.id.spinner)
|
||||
void showPopupMenu() {
|
||||
PopupMenu popupMenu = new PopupMenu(getContext(), mSpinner);
|
||||
popupMenu.inflate(R.menu.menu_manager);
|
||||
popupMenu.show();
|
||||
popupMenu.setOnMenuItemClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem item) {
|
||||
int id = item.getItemId();
|
||||
if (id == R.id.task_manage) {
|
||||
showTaskManager();
|
||||
} else {
|
||||
showLog();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void showLog() {
|
||||
mTaskManagerView.setVisibility(View.GONE);
|
||||
mLogView.setVisibility(View.VISIBLE);
|
||||
mSpinnerCurrentItem.setText(R.string.text_log);
|
||||
}
|
||||
|
||||
private void showTaskManager() {
|
||||
mLogView.setVisibility(View.GONE);
|
||||
mTaskManagerView.setVisibility(View.VISIBLE);
|
||||
mSpinnerCurrentItem.setText(R.string.text_task_manage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setUpWithFab(ViewPager pager, final FloatingActionButton fab) {
|
||||
mFab = fab;
|
||||
fab.setOnClickListener(mOnFabClickListener);
|
||||
if (fab.getVisibility() != View.VISIBLE) {
|
||||
fab.show();
|
||||
return;
|
||||
}
|
||||
fab.animate()
|
||||
.rotation(45)
|
||||
.setDuration(300)
|
||||
.setInterpolator(new FastOutSlowInInterpolator())
|
||||
.start();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
if (mFab != null) {
|
||||
mFab.setOnClickListener(null);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (mFab != null) {
|
||||
mFab.setOnClickListener(mOnFabClickListener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user