Skip to content

Commit 14d6578

Browse files
committed
multi text open
1 parent 3db16b2 commit 14d6578

File tree

3 files changed

+31
-11
lines changed

3 files changed

+31
-11
lines changed

PowerFileExplorer/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@
391391
android:icon="@drawable/textpng"
392392
android:label="Text Editor"
393393
android:theme="@style/AppTheme"
394-
android:launchMode="standard"
394+
android:launchMode="singleInstance"
395395
>
396396
<intent-filter>
397397
<action android:name="android.intent.action.MAIN" />

PowerFileExplorer/src/main/java/net/gnu/explorer/SlidingTabsFragment.java

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,9 @@ public void onViewCreated(final View view, final Bundle savedInstanceState) {
9393
}
9494
}
9595

96-
Log.d(TAG, "onViewCreated " + mTabs);
9796
pagerAdapter = new PagerAdapter(childFragmentManager);
9897
mViewPager.setAdapter(pagerAdapter);
99-
Log.d(TAG, "mViewPager " + mViewPager);
98+
Log.d(TAG, "onViewCreated mViewPager " + mViewPager + ", mTabs " + mTabs);
10099
if (args != null) {
101100
mViewPager.setCurrentItem(args.getInt("pos", pageSelected), true);
102101
} else {
@@ -454,24 +453,41 @@ public boolean circular() {
454453
return true;
455454
}
456455

456+
@Override
457+
public void onResume() {
458+
Log.d(TAG, "onResume pagerAdapter=" + pagerAdapter + ", mTabs=" + mTabs + ", newIntent " + newIntent);
459+
super.onResume();
460+
if (newIntent) {
461+
newIntent = false;
462+
addFrag(main, pagerItem);
463+
}
464+
}
465+
466+
private boolean newIntent = false;
467+
private TextFrag main = null;
468+
private PagerItem pagerItem = null;
457469
public void addTextTab(final Intent intent, String title) {
458470
if (title == null || title.length() == 0) {
459471
title = "Untitled " + ++TextFrag.no + ".txt";
460472
}
461-
Log.d(TAG, "addTab1 pagerAdapter=" + pagerAdapter + ", filename=" + title + ", mTabs=" + mTabs);
462-
final TextFrag main = TextFrag.newInstance(intent, title, null);
463-
final PagerItem pagerItem = new PagerItem(main);
473+
Log.d(TAG, "addTextTab1 mViewPager=" + mViewPager + ", pagerAdapter=" + pagerAdapter + ", filename=" + title + ", mTabs=" + mTabs);
474+
main = TextFrag.newInstance(intent, title, null);
475+
pagerItem = new PagerItem(main);
464476
main.slidingTabsFragment = this;
465477

466-
mTabs.add(mTabs.size() > 1 ? pageSelected : 0, pagerItem);
467-
if (mViewPager != null) {
478+
if (mViewPager != null && mTabs.size() == 0) {
479+
mTabs.add(pagerItem);
468480
//addFrag(main, pagerItem);
469481
pagerAdapter.notifyDataSetChanged();
470482
mViewPager.setCurrentItem(pagerAdapter.getCount() - 1);
471483
notifyTitleChange();
472484
//main.onPrepareOptionsMenu(((MainActivity)getActivity()).menu);
485+
} else if (mTabs.size() >= 1) {
486+
newIntent = true;
487+
} else {
488+
mTabs.add(pagerItem);
473489
}
474-
Log.d(TAG, "addTab2 " + title + ", " + mTabs);
490+
Log.d(TAG, "addTextTab2 " + title + ", " + mTabs);
475491
}
476492

477493
public void addTab(final OpenMode openmode, final String path) {
@@ -512,7 +528,7 @@ private void addFrag(Frag frag, PagerItem pagerItem) {
512528
final int size = mTabs.size();
513529
if (size > 1) {
514530
int currentItem = mViewPager.getCurrentItem();
515-
Log.d(TAG, "addTab1 currentItem " + currentItem + ", dir=" + frag.currentPathTitle + ", mTabs=" + mTabs);
531+
Log.d(TAG, "addFrag1 currentItem " + currentItem + ", dir=" + frag.currentPathTitle + ", mTabs=" + mTabs);
516532

517533
PagerItem pi = mTabs.get(0);
518534
ft.remove(pi.fakeFrag);
@@ -545,7 +561,7 @@ private void addFrag(Frag frag, PagerItem pagerItem) {
545561
mViewPager.setCurrentItem(mTabs.size());
546562
}
547563
notifyTitleChange();
548-
Log.d(TAG, "addTab2 " + frag.currentPathTitle + ", mViewPager.getCurrentItem() " + mViewPager.getCurrentItem() + ", " + mTabs);
564+
Log.d(TAG, "addFrag2 " + frag.currentPathTitle + ", mViewPager.getCurrentItem() " + mViewPager.getCurrentItem() + ", " + mTabs);
549565
}
550566

551567
public int realFragCount() {

PowerFileExplorer/src/main/java/net/gnu/texteditor/TextFrag.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2731,6 +2731,7 @@ public void updateColor(View rootView) {
27312731
@Override
27322732
public void onResume() {
27332733
Log.d(TAG, "onResume " + toString());
2734+
try {
27342735
super.onResume();
27352736
fragActivity = this.getActivity();
27362737
if (mSharedPreferenceChanged ){
@@ -2739,6 +2740,9 @@ public void onResume() {
27392740
if (mBootSettings.hideSoftkeyIS01) {
27402741
IS01FullScreen.setFullScreenOnIS01();//fragActivity
27412742
}
2743+
} catch (Throwable re) {
2744+
re.printStackTrace();
2745+
}
27422746
}
27432747

27442748
private OnClickListener mOnClickSave = new OnClickListener() {

0 commit comments

Comments
 (0)