Skip to content

Commit 0f91c28

Browse files
committed
cleanup and refactor
1 parent 6afc2aa commit 0f91c28

File tree

6 files changed

+69
-195
lines changed

6 files changed

+69
-195
lines changed

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/duy/ccppcompiler/ide/editor/CppIdeActivity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@
5151
import com.duy.common.purchase.InAppPurchaseHelper;
5252
import com.duy.common.purchase.Premium;
5353
import com.duy.file.explorer.FileExplorerActivity;
54-
import com.duy.ide.code.format.CodeFormatProviderImpl;
54+
import com.duy.ide.code.api.CodeFormatProvider;
5555
import com.duy.ide.core.IdeActivity;
56-
import com.duy.ide.diagnostic.DiagnosticPresenter;
56+
import com.duy.ide.diagnostic.DiagnosticContract;
5757
import com.duy.ide.diagnostic.parser.PatternAwareOutputParser;
5858
import com.jecelyin.common.utils.UIUtils;
5959
import com.jecelyin.editor.v2.Preferences;
@@ -91,7 +91,7 @@ protected void onCreate(Bundle savedInstanceState) {
9191
}
9292

9393
@Override
94-
protected void populateDiagnostic(@NonNull DiagnosticPresenter diagnosticPresenter) {
94+
protected void populateDiagnostic(@NonNull DiagnosticContract.Presenter diagnosticPresenter) {
9595
PatternAwareOutputParser[] parsers = {
9696
new CppCheckOutputParser(),
9797
new GccOutputParser()
@@ -105,7 +105,7 @@ protected int getRootLayoutId() {
105105
}
106106

107107
@Override
108-
protected CodeFormatProviderImpl getCodeFormatProvider() {
108+
protected CodeFormatProvider getCodeFormatProvider() {
109109
return new CppCodeFormatProvider(this);
110110
}
111111

lib-n-ide/src/main/java/com/duy/ide/core/IdeActivity.java

Lines changed: 53 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,12 @@
5454

5555
import com.duy.common.StoreUtil;
5656
import com.duy.file.explorer.FileExplorerActivity;
57+
import com.duy.ide.code.api.CodeFormatProvider;
5758
import com.duy.ide.code.format.CodeFormatProviderImpl;
5859
import com.duy.ide.database.SQLHelper;
60+
import com.duy.ide.diagnostic.DiagnosticContract;
5961
import com.duy.ide.diagnostic.DiagnosticPresenter;
62+
import com.duy.ide.diagnostic.parser.PatternAwareOutputParser;
6063
import com.duy.ide.diagnostic.view.DiagnosticFragment;
6164
import com.duy.ide.editor.editor.BuildConfig;
6265
import com.duy.ide.editor.editor.R;
@@ -100,6 +103,13 @@
100103
import static android.view.View.VISIBLE;
101104

102105

106+
/**
107+
* Some method should override:
108+
* <p>
109+
* {@link #populateDiagnostic(DiagnosticContract.Presenter)} init diagnostic, you should set output
110+
* parser for std out and std error by using method
111+
* {@link DiagnosticContract.Presenter#setOutputParser(PatternAwareOutputParser...)}
112+
*/
103113
public abstract class IdeActivity extends ThemeSupportActivity implements MenuItem.OnMenuItemClickListener,
104114
IEditorStateListener,
105115
SharedPreferences.OnSharedPreferenceChangeListener {
@@ -116,16 +126,16 @@ public abstract class IdeActivity extends ThemeSupportActivity implements MenuIt
116126
protected TabManager mTabManager;
117127
protected DiagnosticPresenter mDiagnosticPresenter;
118128

119-
private Toolbar mToolbar;
120-
private DrawerLayout mDrawerLayout;
129+
protected Toolbar mToolbar;
130+
protected DrawerLayout mDrawerLayout;
121131
@Nullable
122-
private SymbolBarLayout mSymbolBarLayout;
132+
protected SymbolBarLayout mSymbolBarLayout;
123133
@Nullable
124-
private SmartTabLayout mTabLayout;
134+
protected SmartTabLayout mTabLayout;
125135
@Nullable
126-
private TextView mTxtDocumentInfo;
136+
protected TextView mTxtDocumentInfo;
127137

128-
private Preferences mPreferences;
138+
protected Preferences mPreferences;
129139
private long mExitTime;
130140
private KeyBoardEventListener mKeyBoardListener;
131141

@@ -134,9 +144,10 @@ protected void onCreate(Bundle savedInstanceState) {
134144
super.onCreate(savedInstanceState);
135145
setContentView(getRootLayoutId());
136146
initToolbar();
137-
138147
MenuManager.init(this);
148+
139149
mPreferences = Preferences.getInstance(this);
150+
mPreferences.registerOnSharedPreferenceChangeListener(this);
140151

141152
mTabLayout = findViewById(R.id.tab_layout);
142153
mTxtDocumentInfo = findViewById(R.id.txt_document_info);
@@ -150,37 +161,41 @@ public void onDrawerOpened(View drawerView) {
150161
hideSoftInput();
151162
}
152163
});
153-
ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(
154-
this, mDrawerLayout, mToolbar, R.string.open_drawer, R.string.close_drawer);
164+
165+
ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(this,
166+
mDrawerLayout, mToolbar, R.string.open_drawer, R.string.close_drawer);
155167
mDrawerLayout.addDrawerListener(actionBarDrawerToggle);
156168
actionBarDrawerToggle.syncState();
157-
158169
mSymbolBarLayout = findViewById(R.id.symbolBarLayout);
159170
if (mSymbolBarLayout != null) {
160-
mSymbolBarLayout.setOnSymbolCharClickListener(new SymbolBarLayout.OnSymbolCharClickListener() {
161-
@Override
162-
public void onClick(View v, String text) {
163-
insertText(text);
164-
}
165-
});
171+
mSymbolBarLayout.setOnSymbolCharClickListener(
172+
new SymbolBarLayout.OnSymbolCharClickListener() {
173+
@Override
174+
public void onClick(View v, String text) {
175+
insertText(text);
176+
}
177+
});
166178
}
167179

168180
setScreenOrientation();
169181

170182
TextView versionView = findViewById(R.id.versionTextView);
171183
versionView.setText(SysUtils.getVersionName(this));
172184

173-
mTabManager = new TabManager(this, (ViewPager) findViewById(R.id.editor_view_pager));
174-
175185
initMenuView();
176186
intiDiagnosticView();
177-
processIntent();
178187

179-
mPreferences.registerOnSharedPreferenceChangeListener(this);
180188

181189
//attach listener hide/show keyboard
182190
mKeyBoardListener = new KeyBoardEventListener(this);
183191
mDrawerLayout.getViewTreeObserver().addOnGlobalLayoutListener(mKeyBoardListener);
192+
193+
// initLeftNavigationView(findViewById(R.id.left_nav_view));
194+
195+
//final, create editor
196+
mTabManager = new TabManager(this, (ViewPager) findViewById(R.id.editor_view_pager));
197+
198+
processIntent();
184199
}
185200

186201
private void initToolbar() {
@@ -203,7 +218,6 @@ public void onPanelSlide(View panel, float slideOffset) {
203218
}
204219
});
205220

206-
207221
FragmentManager fm = getSupportFragmentManager();
208222
String tag = DiagnosticFragment.class.getSimpleName();
209223
DiagnosticFragment diagnosticFragment = (DiagnosticFragment) fm.findFragmentByTag(tag);
@@ -213,15 +227,19 @@ public void onPanelSlide(View panel, float slideOffset) {
213227
fm.beginTransaction()
214228
.replace(R.id.container_diagnostic_list_view, diagnosticFragment, tag)
215229
.commit();
230+
216231
mDiagnosticPresenter = new DiagnosticPresenter(diagnosticFragment, this, mTabManager, mHandler);
217232
populateDiagnostic(mDiagnosticPresenter);
218233
}
219234

220235
/**
221236
* Called when create diagnostic view
222237
*/
223-
protected abstract void populateDiagnostic(@NonNull DiagnosticPresenter diagnosticPresenter);
238+
protected abstract void populateDiagnostic(@NonNull DiagnosticContract.Presenter diagnosticPresenter);
224239

240+
/**
241+
* @return main layout id
242+
*/
225243
@LayoutRes
226244
protected abstract int getRootLayoutId();
227245

@@ -246,12 +264,12 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin
246264
}
247265

248266
private void setScreenOrientation() {
249-
int orgi = mPreferences.getScreenOrientation();
250-
if (Preferences.SCREEN_ORIENTATION_AUTO == orgi) {
267+
int orientation = mPreferences.getScreenOrientation();
268+
if (Preferences.SCREEN_ORIENTATION_AUTO == orientation) {
251269
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
252-
} else if (Preferences.SCREEN_ORIENTATION_LANDSCAPE == orgi) {
270+
} else if (Preferences.SCREEN_ORIENTATION_LANDSCAPE == orientation) {
253271
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
254-
} else if (Preferences.SCREEN_ORIENTATION_PORTRAIT == orgi) {
272+
} else if (Preferences.SCREEN_ORIENTATION_PORTRAIT == orientation) {
255273
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
256274
}
257275
}
@@ -260,12 +278,13 @@ private void initMenuView() {
260278
NavigationView rightMenu = findViewById(R.id.menuNavView);
261279
Menu menu = rightMenu.getMenu();
262280
onCreateNavigationMenu(menu);
263-
rightMenu.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
264-
@Override
265-
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
266-
return onOptionsItemSelected(item);
267-
}
268-
});
281+
rightMenu.setNavigationItemSelectedListener(
282+
new NavigationView.OnNavigationItemSelectedListener() {
283+
@Override
284+
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
285+
return onOptionsItemSelected(item);
286+
}
287+
});
269288
}
270289

271290

@@ -398,7 +417,6 @@ public boolean onCreateOptionsMenu(Menu container) {
398417
return super.onCreateOptionsMenu(container);
399418
}
400419

401-
402420
@CallSuper
403421
protected void onCreateNavigationMenu(Menu menu) {
404422
MenuFactory menuFactory = MenuFactory.getInstance(this);
@@ -789,7 +807,8 @@ protected void onDestroy() {
789807
super.onDestroy();
790808
}
791809

792-
protected CodeFormatProviderImpl getCodeFormatProvider() {
810+
@Nullable
811+
protected CodeFormatProvider getCodeFormatProvider() {
793812
return new CodeFormatProviderImpl(this);
794813
}
795814

lib-n-ide/src/main/java/com/duy/ide/editor/view/EditActionSupportEditor.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ public boolean doPaste() {
9393
return false;
9494
}
9595

96+
@Override
97+
public void insert(@NonNull CharSequence text) {
98+
int selectionStart = getSelectionStart();
99+
selectionStart = Math.max(0, selectionStart);
100+
getText().insert(selectionStart, text);
101+
}
102+
96103
/**
97104
* Remove linux line terminate, only support escape \n
98105
*/

lib-n-ide/src/main/java/com/duy/ide/editor/view/IEditActionSupport.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
package com.duy.ide.editor.view;
1919

20+
import android.support.annotation.NonNull;
21+
2022
public interface IEditActionSupport {
2123
void undo();
2224

@@ -28,6 +30,8 @@ public interface IEditActionSupport {
2830

2931
boolean doPaste();
3032

33+
void insert(@NonNull CharSequence text);
34+
3135
void selectAll();
3236

3337
void duplicateSelection();

0 commit comments

Comments
 (0)