From 56920cd7073960a04f69a90ef315c384d88c0d33 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Fri, 25 Aug 2017 15:53:31 +0800 Subject: [PATCH] add: new ui for file creating --- .../app/FragmentPagerAdapterBuilder.java | 4 +- .../scriptdroid/ui/main/MainActivity.java | 14 +- .../ui/main/NewFileDialogBuilder.java | 70 +++++++ .../ui/main/ViewPagerFragment.java | 51 ++++- .../ui/main/community/CommunityFragment.java | 19 +- .../ui/main/doc/OnlineDocsFragment.java | 13 +- .../ui/main/drawer/DrawerFragment.java | 11 + .../sample_list/SampleScriptListFragment.java | 79 -------- .../SampleScriptListRecyclerView.java | 190 ------------------ .../script_list/MyScriptListFragment.java | 20 +- .../ui/main/task/TaskManagerFragment.java | 49 +---- .../java/com/stardust/widget/EWebView.java | 3 +- app/src/main/res/layout/activity_main.xml | 5 +- app/src/main/res/layout/fragment_drawer.xml | 4 +- app/src/main/res/layout/new_file_dialog.xml | 118 +++++++++++ app/src/main/res/values/colors.xml | 4 +- app/src/main/res/values/strings.xml | 5 + 17 files changed, 309 insertions(+), 350 deletions(-) create mode 100644 app/src/main/java/com/stardust/scriptdroid/ui/main/NewFileDialogBuilder.java delete mode 100644 app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListFragment.java delete mode 100644 app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListRecyclerView.java create mode 100644 app/src/main/res/layout/new_file_dialog.xml diff --git a/app/src/main/java/com/stardust/app/FragmentPagerAdapterBuilder.java b/app/src/main/java/com/stardust/app/FragmentPagerAdapterBuilder.java index a1199590..24c87d2b 100644 --- a/app/src/main/java/com/stardust/app/FragmentPagerAdapterBuilder.java +++ b/app/src/main/java/com/stardust/app/FragmentPagerAdapterBuilder.java @@ -17,7 +17,7 @@ import java.util.List; public class FragmentPagerAdapterBuilder { public interface OnFragmentInstantiateListener { - void OnInstantiate(Fragment fragment); + void OnInstantiate(int pos, Fragment fragment); } private List mFragments = new ArrayList<>(); @@ -71,7 +71,7 @@ public class FragmentPagerAdapterBuilder { Fragment fragment = (Fragment) super.instantiateItem(container, position); mStoredFragments.put(position, fragment); if(mOnFragmentInstantiateListener != null){ - mOnFragmentInstantiateListener.OnInstantiate(fragment); + mOnFragmentInstantiateListener.OnInstantiate(position, fragment); } return fragment; } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java index c5569e96..9e9b1e86 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/MainActivity.java @@ -39,6 +39,8 @@ import com.stardust.scriptdroid.ui.main.doc.OnlineDocsFragment_; import com.stardust.scriptdroid.ui.main.drawer.DrawerFragment; import com.stardust.scriptdroid.ui.main.script_list.MyScriptListFragment_; import com.stardust.scriptdroid.ui.main.task.TaskManagerFragment_; +import com.stardust.theme.ThemeColorManager; +import com.stardust.theme.ThemeColorManagerCompat; import com.stardust.util.DeveloperUtils; import com.stardust.scriptdroid.tool.AccessibilityServiceTool; import com.stardust.scriptdroid.tool.DrawableSaver; @@ -92,6 +94,7 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega setUpTabViewPager(); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); registerBackPressHandlers(); + ThemeColorManager.addViewBackground(findViewById(R.id.app_bar)); } private void showAnnunciationIfNeeded() { @@ -164,13 +167,22 @@ public class MainActivity extends BaseActivity implements OnActivityResultDelega .build(); mViewPager.setAdapter(mPagerAdapter); tabLayout.setupWithViewPager(mViewPager); + mPagerAdapter.setOnFragmentInstantiateListener(new FragmentPagerAdapterBuilder.OnFragmentInstantiateListener() { + @Override + public void OnInstantiate(int pos, Fragment fragment) { + ((ViewPagerFragment) fragment).setFab(mFab); + if (pos == mViewPager.getCurrentItem()) { + ((ViewPagerFragment) fragment).onPageSelected(); + } + } + }); 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); + ((ViewPagerFragment) fragment).onPageSelected(); } }); } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/NewFileDialogBuilder.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/NewFileDialogBuilder.java new file mode 100644 index 00000000..c64a932b --- /dev/null +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/NewFileDialogBuilder.java @@ -0,0 +1,70 @@ +package com.stardust.scriptdroid.ui.main; + +import android.app.AlertDialog; +import android.content.Context; +import android.support.annotation.IdRes; +import android.view.View; +import android.widget.RadioButton; +import android.widget.RadioGroup; + +import com.afollestad.materialdialogs.MaterialDialog; +import com.github.aakira.expandablelayout.ExpandableRelativeLayout; +import com.stardust.scriptdroid.R; +import com.stardust.theme.dialog.ThemeColorMaterialDialogBuilder; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnCheckedChanged; +import butterknife.OnClick; + +/** + * Created by Stardust on 2017/8/25. + */ + +public class NewFileDialogBuilder extends ThemeColorMaterialDialogBuilder { + + @BindView(R.id.layout_new_file) + ExpandableRelativeLayout mLayoutNewFile; + + @BindView(R.id.layout_import) + ExpandableRelativeLayout mLayoutImport; + + ExpandableRelativeLayout mExpandedLayout; + + + public NewFileDialogBuilder(Context context) { + super(context); + View view = View.inflate(context, R.layout.new_file_dialog, null); + customView(view, true); + title(R.string.text_new); + positiveText(R.string.ok); + negativeText(R.string.cancel); + ButterKnife.bind(this, view); + mExpandedLayout = mLayoutNewFile; + } + + @OnClick(R.id.option_new_file) + void expandLayoutNewFile() { + if (mExpandedLayout != mLayoutNewFile) { + if(mExpandedLayout != null){ + mExpandedLayout.collapse(); + } + mLayoutNewFile.expand(); + mExpandedLayout = mLayoutNewFile; + } + } + + + @OnClick(R.id.option_import) + void expandLayoutImport() { + if (mExpandedLayout != mLayoutImport) { + if(mExpandedLayout != null){ + mExpandedLayout.collapse(); + } + mLayoutImport.expand(); + mExpandedLayout = mLayoutImport; + } + } + +} + diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/ViewPagerFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/ViewPagerFragment.java index 73fd6516..b070463b 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/ViewPagerFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/ViewPagerFragment.java @@ -1,14 +1,61 @@ package com.stardust.scriptdroid.ui.main; +import android.graphics.Paint; +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.view.View; /** * Created by Stardust on 2017/8/22. */ -public interface ViewPagerFragment { +public abstract class ViewPagerFragment extends Fragment { + + protected static final int ROTATION_GONE = -1; + + private int mRotation; + private FloatingActionButton mFab; + private View.OnClickListener mOnFabClickListener = new View.OnClickListener() { + @Override + public void onClick(View v) { + onFabClick((FloatingActionButton) v); + } + }; + + public ViewPagerFragment(int rotation) { + mRotation = rotation; + } + + public void setFab(FloatingActionButton fab) { + mFab = fab; + } + + protected abstract void onFabClick(FloatingActionButton fab); + + public void onPageSelected() { + if (mRotation == ROTATION_GONE) { + if (mFab.getVisibility() == View.VISIBLE) { + mFab.hide(); + } + mFab.setOnClickListener(null); + return; + } + mFab.setOnClickListener(mOnFabClickListener); + if (mFab.getVisibility() != View.VISIBLE) { + mFab.setRotation(mRotation); + mFab.show(); + } else if (Math.abs(mFab.getRotation() - mRotation) > 0.1f) { + mFab.animate() + .rotation(mRotation) + .setDuration(300) + .setInterpolator(new FastOutSlowInInterpolator()) + .start(); + } + } - void setUpWithFab(ViewPager pager, FloatingActionButton fab); } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/community/CommunityFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/community/CommunityFragment.java index 5853fdeb..5af6c2fb 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/community/CommunityFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/community/CommunityFragment.java @@ -13,17 +13,14 @@ import com.stardust.scriptdroid.ui.main.ViewPagerFragment; * Created by Stardust on 2017/8/22. */ -public class CommunityFragment extends Fragment implements ViewPagerFragment { +public class CommunityFragment extends ViewPagerFragment { + + public CommunityFragment() { + super(0); + } + @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(); + protected void onFabClick(FloatingActionButton fab) { + } } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/doc/OnlineDocsFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/doc/OnlineDocsFragment.java index 6af618f2..32394161 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/doc/OnlineDocsFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/doc/OnlineDocsFragment.java @@ -21,12 +21,17 @@ 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, ViewPagerFragment { +public class OnlineDocsFragment extends ViewPagerFragment implements BackPressedHandler { @ViewById(R.id.eweb_view) EWebView mEWebView; WebView mWebView; + + public OnlineDocsFragment() { + super(ROTATION_GONE); + } + @Override public void onAttach(Context context) { super.onAttach(context); @@ -59,9 +64,7 @@ public class OnlineDocsFragment extends Fragment implements BackPressedHandler, } @Override - public void setUpWithFab(ViewPager pager, FloatingActionButton fab) { - if (fab.getVisibility() == View.VISIBLE) { - fab.hide(); - } + protected void onFabClick(FloatingActionButton fab) { + } } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java index b85bf7a9..899dcafe 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/drawer/DrawerFragment.java @@ -6,6 +6,7 @@ import android.support.annotation.Nullable; import android.support.v7.widget.SwitchCompat; import android.view.MenuInflater; import android.view.MenuItem; +import android.view.View; import android.widget.CompoundButton; import android.widget.Toast; @@ -17,6 +18,7 @@ import com.stardust.scriptdroid.R; import com.stardust.scriptdroid.external.floatingwindow.HoverMenuManger; import com.stardust.scriptdroid.external.floatingwindow.menu.HoverMenuService; import com.stardust.scriptdroid.ui.common.ProgressDialog; +import com.stardust.theme.ThemeColorManager; import com.stardust.view.accessibility.AccessibilityService; import com.stardust.scriptdroid.sublime.SublimePluginClient; import com.stardust.scriptdroid.sublime.SublimePluginService; @@ -25,6 +27,7 @@ import com.stardust.scriptdroid.tool.WifiTool; import com.stardust.util.IntentUtil; import com.stardust.util.UnderuseExecutors; +import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.CheckedChange; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EFragment; @@ -45,8 +48,11 @@ public class DrawerFragment extends android.support.v4.app.Fragment { SwitchCompat mAccessibilityServiceSwitch; SwitchCompat mFloatingWindowSwitch; SwitchCompat mDebugSwitch; + @ViewById(R.id.header) + View mHeaderView; private Executor mExecutor = UnderuseExecutors.getExecutor(); + @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -59,6 +65,11 @@ public class DrawerFragment extends android.support.v4.app.Fragment { //syncSwitchState(); } + @AfterViews + void setUpViews(){ + ThemeColorManager.addViewBackground(mHeaderView); + } + private void syncSwitchState() { mAccessibilityServiceSwitch.postDelayed(new Runnable() { diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListFragment.java deleted file mode 100644 index aa1a07ec..00000000 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListFragment.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.stardust.scriptdroid.ui.main.sample_list; - -import android.os.Bundle; -import android.support.annotation.Nullable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import com.afollestad.materialdialogs.MaterialDialog; -import com.stardust.app.Fragment; -import com.stardust.scriptdroid.R; -import com.stardust.scriptdroid.script.Scripts; -import com.stardust.scriptdroid.script.sample.Sample; -import com.stardust.scriptdroid.script.sample.SampleFileManager; -import com.stardust.scriptdroid.ui.common.ScriptOperations; -import com.stardust.scriptdroid.ui.edit.ViewSampleActivity; -import com.stardust.scriptdroid.ui.main.MainActivity; - -/** - * Created by Stardust on 2017/3/13. - */ - -public class SampleScriptListFragment extends Fragment { - - @Nullable - @Override - public View createView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_sample_script_list, container, false); - } - - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - SampleScriptListRecyclerView sampleScriptListRecyclerView = $(R.id.script_list); - sampleScriptListRecyclerView.setSamples(SampleFileManager.getInstance().getSamplesFromAssets(getContext().getAssets(), "sample")); - sampleScriptListRecyclerView.setOnItemLongClickListener(new SampleScriptListRecyclerView.OnItemLongClickListener() { - @Override - public void onItemLongClick(Sample sample) { - showMenuDialog(sample); - } - }); - sampleScriptListRecyclerView.setOnItemClickListener(new SampleScriptListRecyclerView.OnItemClickListener() { - @Override - public void onItemClick(Sample sample) { - viewSample(sample); - } - }); - } - - private void showMenuDialog(final Sample sample) { - new MaterialDialog.Builder(getActivity()) - .title(sample.name) - .items(getString(R.string.text_run), getString(R.string.text_copy_to_my_scripts)) - .itemsCallback(new MaterialDialog.ListCallback() { - @Override - public void onSelection(MaterialDialog dialog, View itemView, int position, CharSequence text) { - if (position == 0) { - Scripts.run(getActivity(), sample); - } else { - copySampleToMyScripts(sample); - } - } - - }) - .show(); - } - - private void copySampleToMyScripts(Sample sample) { - new ScriptOperations(getActivity(), getView()) - .importSample(sample) - .subscribe(); - } - - private void viewSample(Sample sample) { - ViewSampleActivity.view(getContext(), sample); - } - -} diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListRecyclerView.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListRecyclerView.java deleted file mode 100644 index fcb45e43..00000000 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/sample_list/SampleScriptListRecyclerView.java +++ /dev/null @@ -1,190 +0,0 @@ -package com.stardust.scriptdroid.ui.main.sample_list; - -import android.content.Context; -import android.support.annotation.NonNull; -import android.support.v7.widget.DividerItemDecoration; -import android.support.v7.widget.RecyclerView; -import android.util.AttributeSet; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; -import android.workground.WrapContentLinearLayoutManager; - -import com.bignerdranch.expandablerecyclerview.ChildViewHolder; -import com.bignerdranch.expandablerecyclerview.ExpandableRecyclerAdapter; -import com.bignerdranch.expandablerecyclerview.ParentViewHolder; -import com.bignerdranch.expandablerecyclerview.model.Parent; -import com.stardust.scriptdroid.R; -import com.stardust.scriptdroid.script.sample.Sample; -import com.stardust.widget.LevelBeamView; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by Stardust on 2017/3/13. - */ - -public class SampleScriptListRecyclerView extends RecyclerView { - - public interface OnItemLongClickListener { - void onItemLongClick(Sample sample); - } - - public interface OnItemClickListener { - void onItemClick(Sample sample); - } - - private OnClickListener mOnItemClickListenerProxy = new OnClickListener() { - @Override - public void onClick(View v) { - if (mOnItemClickListener != null) { - SampleViewHolder viewHolder = (SampleViewHolder) getChildViewHolder(v); - mOnItemClickListener.onItemClick(viewHolder.getChild()); - } - } - }; - private OnLongClickListener mOnLongClickListenerProxy = new OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - if (mOnItemLongClickListener != null) { - SampleViewHolder viewHolder = (SampleViewHolder) getChildViewHolder(v); - mOnItemLongClickListener.onItemLongClick(viewHolder.getChild()); - return true; - } - return false; - } - }; - private OnItemLongClickListener mOnItemLongClickListener; - private OnItemClickListener mOnItemClickListener; - - - private Adapter mAdapter; - private List mSampleGroups = new ArrayList<>(); - - public SampleScriptListRecyclerView(Context context) { - super(context); - init(); - } - - public SampleScriptListRecyclerView(Context context, AttributeSet attrs) { - super(context, attrs); - init(); - } - - public SampleScriptListRecyclerView(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - init(); - } - - public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) { - mOnItemLongClickListener = onItemLongClickListener; - } - - public void setOnItemClickListener(OnItemClickListener onItemClickListener) { - mOnItemClickListener = onItemClickListener; - } - - public void setSamples(List samples) { - mSampleGroups.clear(); - for (com.stardust.scriptdroid.script.sample.SampleGroup sampleGroup : samples) { - mSampleGroups.add(new SampleGroup(sampleGroup)); - } - mAdapter = new Adapter(mSampleGroups); - setAdapter(mAdapter); - } - - private void init() { - setLayoutManager(new WrapContentLinearLayoutManager(getContext())); - addItemDecoration(new DividerItemDecoration(getContext(), VERTICAL)); - } - - private class SampleGroup implements Parent { - - private com.stardust.scriptdroid.script.sample.SampleGroup mSampleGroup; - - SampleGroup(com.stardust.scriptdroid.script.sample.SampleGroup sampleGroup) { - mSampleGroup = sampleGroup; - } - - String getGroupName() { - return mSampleGroup.name; - } - - @Override - public List getChildList() { - return mSampleGroup.sampleList; - } - - @Override - public boolean isInitiallyExpanded() { - return false; - } - } - - private class SampleViewHolder extends ChildViewHolder { - - TextView name; - - SampleViewHolder(@NonNull View itemView) { - super(itemView); - name = (TextView) itemView.findViewById(R.id.name); - ((LevelBeamView) itemView.findViewById(R.id.level)).setLevel(2); - itemView.setOnClickListener(mOnItemClickListenerProxy); - itemView.setOnLongClickListener(mOnLongClickListenerProxy); - } - - void bind(Sample sample) { - name.setText(sample.name); - } - - } - - private class SampleGroupViewHolder extends ParentViewHolder { - - TextView name; - - SampleGroupViewHolder(@NonNull View itemView) { - super(itemView); - name = (TextView) itemView.findViewById(R.id.name); - ((LevelBeamView) itemView.findViewById(R.id.level)).setLevel(0); - } - - void bind(SampleGroup group) { - name.setText(group.getGroupName()); - } - - } - - private class Adapter extends ExpandableRecyclerAdapter { - - public Adapter(@NonNull List parentList) { - super(parentList); - } - - @NonNull - @Override - public SampleGroupViewHolder onCreateParentViewHolder(@NonNull ViewGroup parentViewGroup, int viewType) { - View view = LayoutInflater.from(getContext()).inflate(R.layout.sample_recycler_view_group, parentViewGroup, false); - return new SampleGroupViewHolder(view); - } - - @NonNull - @Override - public SampleViewHolder onCreateChildViewHolder(@NonNull ViewGroup childViewGroup, int viewType) { - View view = LayoutInflater.from(getContext()).inflate(R.layout.sample_recycler_view_item, childViewGroup, false); - return new SampleViewHolder(view); - } - - @Override - public void onBindParentViewHolder(@NonNull SampleGroupViewHolder parentViewHolder, int parentPosition, @NonNull SampleGroup parent) { - parentViewHolder.bind(parent); - } - - @Override - public void onBindChildViewHolder(@NonNull SampleViewHolder childViewHolder, int parentPosition, int childPosition, @NonNull Sample child) { - childViewHolder.bind(child); - } - } -} diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java index cec67b72..6bf0ab33 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/script_list/MyScriptListFragment.java @@ -17,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.NewFileDialogBuilder; import com.stardust.scriptdroid.ui.main.ViewPagerFragment; import org.androidannotations.annotations.AfterViews; @@ -36,12 +37,16 @@ import io.reactivex.schedulers.Schedulers; * Created by Stardust on 2017/3/13. */ @EFragment(R.layout.fragment_my_script_list) -public class MyScriptListFragment extends Fragment implements ViewPagerFragment { +public class MyScriptListFragment extends ViewPagerFragment { private static final String TAG = "MyScriptListFragment"; private static ScriptFile sCurrentDirectory = StorageFileProvider.DEFAULT_DIRECTORY; + public MyScriptListFragment(){ + super(0); + } + @ViewById(R.id.script_file_list) ScriptListView mScriptFileList; @@ -145,15 +150,8 @@ public class MyScriptListFragment 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(); + protected void onFabClick(FloatingActionButton fab) { + new NewFileDialogBuilder(getContext()) + .show(); } } diff --git a/app/src/main/java/com/stardust/scriptdroid/ui/main/task/TaskManagerFragment.java b/app/src/main/java/com/stardust/scriptdroid/ui/main/task/TaskManagerFragment.java index 7b5c1bf1..be7a4c36 100644 --- a/app/src/main/java/com/stardust/scriptdroid/ui/main/task/TaskManagerFragment.java +++ b/app/src/main/java/com/stardust/scriptdroid/ui/main/task/TaskManagerFragment.java @@ -33,7 +33,7 @@ import butterknife.OnClick; * Created by Stardust on 2017/3/24. */ @EFragment(R.layout.fragment_task_manager) -public class TaskManagerFragment extends Fragment implements PopupMenu.OnMenuItemClickListener, ViewPagerFragment { +public class TaskManagerFragment extends ViewPagerFragment implements PopupMenu.OnMenuItemClickListener { @ViewById(R.id.task_list) TaskListRecyclerView mTaskListRecyclerView; @@ -56,18 +56,9 @@ public class TaskManagerFragment extends Fragment implements PopupMenu.OnMenuIte @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(); - } - } - }; + public TaskManagerFragment() { + super(45); + } @AfterViews @@ -140,35 +131,13 @@ public class TaskManagerFragment extends Fragment implements PopupMenu.OnMenuIte 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); + protected void onFabClick(FloatingActionButton fab) { + if (mLogView.getVisibility() == View.VISIBLE) { + Console.clear(); + } else { + AutoJs.getInstance().getScriptEngineService().stopAll(); } } } diff --git a/app/src/main/java/com/stardust/widget/EWebView.java b/app/src/main/java/com/stardust/widget/EWebView.java index 3939ad9b..e56f17e4 100644 --- a/app/src/main/java/com/stardust/widget/EWebView.java +++ b/app/src/main/java/com/stardust/widget/EWebView.java @@ -52,9 +52,8 @@ public class EWebView extends FrameLayout implements SwipeRefreshLayout.OnRefres WebSettings settings = mWebView.getSettings(); settings.setUseWideViewPort(true); settings.setBuiltInZoomControls(true); - settings.setSupportZoom(true); settings.setLoadWithOverviewMode(true); - settings.setJavaScriptEnabled(true); + //settings.setJavaScriptEnabled(true); mWebView.setWebViewClient(new MyWebViewClient()); mWebView.setWebChromeClient(new MyWebChromeClient()); } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index f0c280e4..b603494e 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -13,9 +13,9 @@ android:layout_height="match_parent"> @@ -42,14 +42,13 @@ android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> - diff --git a/app/src/main/res/layout/fragment_drawer.xml b/app/src/main/res/layout/fragment_drawer.xml index 5fc5a2a5..0104c12b 100644 --- a/app/src/main/res/layout/fragment_drawer.xml +++ b/app/src/main/res/layout/fragment_drawer.xml @@ -11,10 +11,10 @@ android:orientation="vertical"> + android:layout_marginBottom="5dp"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +