diff --git a/app-pro/build.gradle b/app-pro/build.gradle index 6f97557..9e4bc0f 100644 --- a/app-pro/build.gradle +++ b/app-pro/build.gradle @@ -27,8 +27,8 @@ android { applicationId "com.maskyn.fileeditorpro" minSdkVersion 11 targetSdkVersion 21 - versionCode 31 - versionName "1.12" + versionCode 32 + versionName "1.13.1" } compileOptions { diff --git a/app-pro/src/main/AndroidManifest.xml b/app-pro/src/main/AndroidManifest.xml index 507dbf5..5d385cf 100644 --- a/app-pro/src/main/AndroidManifest.xml +++ b/app-pro/src/main/AndroidManifest.xml @@ -39,7 +39,7 @@ android:hardwareAccelerated="true" android:largeHeap="true" android:supportsRtl="true" - android:name="sharedcode.turboeditor.activity.MyApp" + android:name="sharedcode.turboeditor.application.MyApp" > diff --git a/app-pro/src/main/java/com/maskyn/fileeditorpro/HomeActivity.java b/app-pro/src/main/java/com/maskyn/fileeditorpro/HomeActivity.java index b4ba013..6a80ed7 100644 --- a/app-pro/src/main/java/com/maskyn/fileeditorpro/HomeActivity.java +++ b/app-pro/src/main/java/com/maskyn/fileeditorpro/HomeActivity.java @@ -19,11 +19,9 @@ package com.maskyn.fileeditorpro; -import android.os.Bundle; +import sharedcode.turboeditor.activity.MainActivity; -import sharedcode.turboeditor.activity.BaseHomeActivity; - -public class HomeActivity extends BaseHomeActivity { +public class HomeActivity extends MainActivity { @Override public void displayInterstitial() { diff --git a/app/build.gradle b/app/build.gradle index 60a3fe9..f8db86e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -46,8 +46,8 @@ android { applicationId "com.maskyn.fileeditor" minSdkVersion 11 targetSdkVersion 21 - versionCode 31 - versionName "1.13" + versionCode 32 + versionName "1.13.1" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 085d282..2eef55b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -43,7 +43,7 @@ android:hardwareAccelerated="true" android:largeHeap="true" android:supportsRtl="true" - android:name="sharedcode.turboeditor.activity.MyApp" + android:name="sharedcode.turboeditor.application.MyApp" > diff --git a/app/src/main/java/com/maskyn/fileeditor/HomeActivity.java b/app/src/main/java/com/maskyn/fileeditor/HomeActivity.java index 2808b8e..660f3d6 100644 --- a/app/src/main/java/com/maskyn/fileeditor/HomeActivity.java +++ b/app/src/main/java/com/maskyn/fileeditor/HomeActivity.java @@ -24,11 +24,11 @@ import android.os.Bundle; import com.crashlytics.android.Crashlytics; import io.fabric.sdk.android.Fabric; -import sharedcode.turboeditor.activity.BaseHomeActivity; +import sharedcode.turboeditor.activity.MainActivity; import sharedcode.turboeditor.preferences.PreferenceHelper; import sharedcode.turboeditor.util.ProCheckUtils; -public class HomeActivity extends BaseHomeActivity { +public class HomeActivity extends MainActivity { private AdsHelper adsHelper; diff --git a/build/intermediates/dex-cache/cache.xml b/build/intermediates/dex-cache/cache.xml index 9dbb40e..23af93d 100644 --- a/build/intermediates/dex-cache/cache.xml +++ b/build/intermediates/dex-cache/cache.xml @@ -12,19 +12,7 @@ jar="C:\Users\Vlad\Documents\AndroidStudioProjects\turbo-editor\app\build\intermediates\exploded-aar\turbo-editor.libraries\sharedCode\unspecified\classes.jar" jumboMode="false" revision="21.0.2" - sha1="4291d7fc866f70dc187c66c7063f806100c4d879"/> - - + sha1="f54c5ec0937fc814350e44db6c20f6eaf0b7e0c7"/> - + - - + revision="21.0.2" + sha1="686344a780033e4ba22b926cd225f8d4941247e6"/> + + + + + sha1="991591ff9dbe9e472a47cf66fe6c120f89a68eaa"/> + + + - + + - + + - - - - - - - - - - - - - - - - - - - - - - - + sha1="f54c5ec0937fc814350e44db6c20f6eaf0b7e0c7"/> . */ + + apply plugin: 'com.android.library' android { @@ -60,9 +62,9 @@ dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile project(':libraries:RootCommands') compile project(':libraries:FloatingActionButton') - compile('de.greenrobot:eventbus:2.2.1') { - exclude module: 'support-v4' - } + //compile('de.greenrobot:eventbus:2.2.1') { + // exclude module: 'support-v4' + // } // compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3' compile 'org.apache.commons:commons-lang3:3.1' compile files('libs/juniversalchardet-1.0.3.jar') diff --git a/libraries/sharedCode/src/main/AndroidManifest.xml b/libraries/sharedCode/src/main/AndroidManifest.xml index e2adce2..ee4199c 100644 --- a/libraries/sharedCode/src/main/AndroidManifest.xml +++ b/libraries/sharedCode/src/main/AndroidManifest.xml @@ -16,7 +16,7 @@ ~ ~ You should have received a copy of the GNU General Public License ~ along with this program. If not, see . ---> + --> diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/LicensesActivity.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/LicensesActivity.java deleted file mode 100644 index 6685495..0000000 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/LicensesActivity.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2014 Vlad Mihalachi - * - * This file is part of Turbo Editor. - * - * Turbo Editor is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Turbo Editor is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package sharedcode.turboeditor.activity; - -import android.app.Activity; -import android.app.FragmentManager; -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.view.View; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.ListView; -import android.widget.TextView; - -import sharedcode.turboeditor.R; -import sharedcode.turboeditor.util.ThemeUtils; - -public class LicensesActivity extends Activity implements AdapterView.OnItemClickListener { - - - @Override - protected void onCreate(Bundle savedInstanceState) { - ThemeUtils.setTheme(this); - super.onCreate(savedInstanceState); - - setContentView(R.layout.activity_licenses); - ListView listView = (ListView) findViewById(android.R.id.list); - listView.setOnItemClickListener(this); - ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, getResources().getStringArray(R.array.open_source_libs)); - listView.setAdapter(adapter); - } - - - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - String openSourceLib = ((TextView) view.findViewById(android.R.id.text1)).getText().toString(); - Intent browserIntent = null; - switch (openSourceLib) { - case "ChangeLog Library": - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/gabrielemariotti/changeloglib?source=c#license")); - break; - case "EventBus": - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/greenrobot/EventBus?source=c#license")); - break; - case "commons-io": - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://commons.apache.org/proper/commons-io/")); - break; - case "RootCommands": - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/dschuermann/superuser-commands")); - break; - case "Floating Action Button": - browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/makovkastar/FloatingActionButton")); - break; - } - if (browserIntent != null) { - startActivity(browserIntent); - } - } -} diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/BaseHomeActivity.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/MainActivity.java similarity index 79% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/BaseHomeActivity.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/MainActivity.java index 9c5ba5b..3a3f10e 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/BaseHomeActivity.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/MainActivity.java @@ -34,6 +34,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.preference.PreferenceManager; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.view.MenuItemCompat; import android.support.v7.app.ActionBarActivity; @@ -78,15 +79,14 @@ import java.util.LinkedList; import java.util.regex.Matcher; import java.util.regex.Pattern; -import de.greenrobot.event.EventBus; import sharedcode.turboeditor.R; import sharedcode.turboeditor.adapter.AdapterDrawer; -import sharedcode.turboeditor.fragment.ChangelogDialog; -import sharedcode.turboeditor.fragment.FileInfoDialog; -import sharedcode.turboeditor.fragment.FindTextDialog; -import sharedcode.turboeditor.fragment.NewFileDetailsDialog; -import sharedcode.turboeditor.fragment.SaveFileDialog; -import sharedcode.turboeditor.fragment.SeekbarDialog; +import sharedcode.turboeditor.dialogfragment.ChangelogDialog; +import sharedcode.turboeditor.dialogfragment.FileInfoDialog; +import sharedcode.turboeditor.dialogfragment.FindTextDialog; +import sharedcode.turboeditor.dialogfragment.NewFileDetailsDialog; +import sharedcode.turboeditor.dialogfragment.NumberPickerDialog; +import sharedcode.turboeditor.dialogfragment.SaveFileDialog; import sharedcode.turboeditor.preferences.PreferenceHelper; import sharedcode.turboeditor.task.SaveFileTask; import sharedcode.turboeditor.texteditor.EditTextPadding; @@ -101,6 +101,7 @@ import sharedcode.turboeditor.util.AnimationUtils; import sharedcode.turboeditor.util.AppInfoHelper; import sharedcode.turboeditor.util.EventBusEvents; import sharedcode.turboeditor.util.MimeTypes; +import sharedcode.turboeditor.util.ProCheckUtils; import sharedcode.turboeditor.util.ThemeUtils; import sharedcode.turboeditor.views.CustomDrawerLayout; import sharedcode.turboeditor.views.DialogHelper; @@ -116,17 +117,17 @@ import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChan import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.THEME_CHANGE; import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.WRAP_CONTENT; -public abstract class BaseHomeActivity extends ActionBarActivity implements FindTextDialog +public abstract class MainActivity extends ActionBarActivity implements FindTextDialog .SearchDialogInterface, GoodScrollView.ScrollInterface, PageSystem.PageSystemInterface, - PageSystemButtons.PageButtonsInterface, SeekbarDialog.ISeekbarDialog, SaveFileDialog.ISaveDialog, + PageSystemButtons.PageButtonsInterface, NumberPickerDialog.INumberPickerDialog, SaveFileDialog.ISaveDialog, AdapterView.OnItemClickListener, AdapterDrawer.Callbacks{ //region VARIABLES - static final int + private static final int ID_SELECT_ALL = android.R.id.selectAll; - static final int ID_CUT = android.R.id.cut; - static final int ID_COPY = android.R.id.copy; - static final int ID_PASTE = android.R.id.paste; + private static final int ID_CUT = android.R.id.cut; + private static final int ID_COPY = android.R.id.copy; + private static final int ID_PASTE = android.R.id.paste; private static final int SELECT_FILE_CODE = 121; private static final int KITKAT_OPEN_REQUEST_CODE = 41; private static final int SYNTAX_DELAY_MILLIS_SHORT = 250; @@ -134,49 +135,49 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find private static final int ID_UNDO = R.id.im_undo; private static final int ID_REDO = R.id.im_redo; private static final int CHARS_TO_COLOR = 2500; - private final Handler updateHandler = new Handler(); - private final Runnable colorRunnable_duringEditing = + private static final Handler updateHandler = new Handler(); + private static final Runnable colorRunnable_duringEditing = new Runnable() { @Override public void run() { mEditor.replaceTextKeepCursor(null, true); } }; - private final Runnable colorRunnable_duringScroll = + private static final Runnable colorRunnable_duringScroll = new Runnable() { @Override public void run() { mEditor.replaceTextKeepCursor(null, false); } }; - boolean fileOpened = false; + private static boolean fileOpened = false; + private static String fileExtension; /* * This class provides a handy way to tie together the functionality of * {@link DrawerLayout} and the framework ActionBar to implement the recommended * design for navigation drawers. */ - private ActionBarDrawerToggle mDrawerToggle; + private static ActionBarDrawerToggle mDrawerToggle; /* * The Drawer Layout */ - private CustomDrawerLayout mDrawerLayout; - private GoodScrollView verticalScroll; - private String sFilePath = ""; - private Editor mEditor; - private HorizontalScrollView horizontalScroll; + private static CustomDrawerLayout mDrawerLayout; + private static GoodScrollView verticalScroll; + private static String sFilePath = ""; + private static Editor mEditor; + private static HorizontalScrollView horizontalScroll; private boolean searchingText; - private SearchResult searchResult; - private PageSystem pageSystem; - private PageSystemButtons pageSystemButtons; - private String currentEncoding = "UTF-8"; - private Toolbar toolbar; + private static SearchResult searchResult; + private static PageSystem pageSystem; + private static PageSystemButtons pageSystemButtons; + private static String currentEncoding = "UTF-8"; + private static Toolbar toolbar; /* Navigation Drawer */ - private AdapterDrawer arrayAdapter; - private LinkedList files; - private ListView listView; + private static AdapterDrawer arrayAdapter; + private static LinkedList files; //endregion //region Activity facts @@ -219,8 +220,6 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find @Override public void onResume() { super.onResume(); - // Register the Event Bus for events - EventBus.getDefault().registerSticky(this); // Refresh the list view refreshList(); } @@ -234,8 +233,6 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find @Override public void onPause() { super.onPause(); - // Unregister the Event Bus - EventBus.getDefault().unregister(this); if (PreferenceHelper.getAutoSave(getBaseContext()) && mEditor.canSaveFile()) { saveTheFile(); @@ -313,7 +310,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find // Set the default title getSupportActionBar().setTitle(getString(R.string.nome_app_turbo_editor)); - EventBus.getDefault().post(new EventBusEvents.ClosedAFile()); + onEvent(new EventBusEvents.ClosedAFile()); mDrawerLayout.openDrawer(Gravity.START); mDrawerLayout.closeDrawer(Gravity.END); @@ -344,7 +341,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find if (!TextUtils.isEmpty(path)) { File file = new File(path); if (file.isFile() && file.exists()) { - EventBus.getDefault().postSticky(new EventBusEvents.NewFileToOpen(new File + onEvent(new EventBusEvents.NewFileToOpen(new File (path))); } } @@ -357,7 +354,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find // Path of the file selected String filePath = files.get(position).getAbsolutePath(); // Send the event that a file was selected - EventBus.getDefault().post(new EventBusEvents.NewFileToOpen(new File(filePath))); + onEvent(new EventBusEvents.NewFileToOpen(new File(filePath))); } //endregion @@ -408,7 +405,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find imRedo.setVisible(false); } - MenuItem item = (MenuItem) menu.findItem(R.id.im_share); + MenuItem item = menu.findItem(R.id.im_share); ShareActionProvider shareAction = (ShareActionProvider) MenuItemCompat .getActionProvider(item); File f = new File(sFilePath); @@ -419,6 +416,11 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find shareAction.setShareIntent(shareIntent); } + MenuItem imDonate = menu.findItem(R.id.im_donate); + if (imDonate != null) + if (ProCheckUtils.isPro(this, false)) + imDonate.setVisible(false); + return true; } @@ -433,14 +435,14 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find saveTheFile(); } else if (i == R.id.im_undo) { - this.mEditor.onTextContextMenuItem(ID_UNDO); + mEditor.onTextContextMenuItem(ID_UNDO); } else if (i == R.id.im_redo) { - this.mEditor.onTextContextMenuItem(ID_REDO); + mEditor.onTextContextMenuItem(ID_REDO); } else if (i == R.id.im_search) { - FindTextDialog dialogFrag = FindTextDialog.newInstance(mEditor.getText().toString()); - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); + FindTextDialog.newInstance(mEditor.getText().toString()).show(getFragmentManager() + .beginTransaction(), "dialog"); } else if (i == R.id.im_cancel) { searchingText = false; invalidateOptionsMenu(); @@ -457,12 +459,10 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } else if (i == R.id.im_goto_line) { int min = mEditor.getLineUtils().firstReadLine(); int max = mEditor.getLineUtils().lastReadLine(); - SeekbarDialog dialogFrag = SeekbarDialog.newInstance - (SeekbarDialog.Actions.GoToLine, min, min, max); - - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); + NumberPickerDialog.newInstance + (NumberPickerDialog.Actions.GoToLine, min, min, max).show(getFragmentManager().beginTransaction(), "dialog"); } else if (i == R.id.im_view_it_on_browser) { - Intent browserIntent = null; + Intent browserIntent; try { browserIntent = new Intent(Intent.ACTION_VIEW); browserIntent.setDataAndType(Uri.fromFile(new File(sFilePath)), "text/*"); @@ -472,16 +472,18 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } } else if (i == R.id.im_info) { - FileInfoDialog dialogFrag = FileInfoDialog.newInstance(sFilePath); + FileInfoDialog.newInstance(sFilePath).show(getFragmentManager().beginTransaction(), "dialog"); + } - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); + else if (i == R.id.im_donate) { + DialogHelper.showDonateDialog(this); } return super.onOptionsItemSelected(item); } //endregion // region OTHER THINGS - public void replaceText() { + void replaceText() { int start = searchResult.foundIndex.get(searchResult.index); int end = start + searchResult.textLength; mEditor.setText(mEditor.getText().replace(start, end, searchResult.textToReplace)); @@ -495,7 +497,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find previousResult(); } - public void nextResult() { + void nextResult() { if (searchResult.index == mEditor.getLineCount() - 1) // last result of page { return; @@ -521,6 +523,8 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } }); + mEditor.setFocusable(true); + mEditor.requestFocus(); mEditor.setSelection(searchResult.foundIndex.get(searchResult.index), searchResult.foundIndex.get(searchResult.index) + searchResult.textLength); } @@ -528,7 +532,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find invalidateOptionsMenu(); } - public void previousResult() { + void previousResult() { if (searchResult.index == 0) return; if (searchResult.index > 0) { @@ -559,12 +563,11 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find private void saveTheFile() { File file = new File(sFilePath); if (!file.getName().isEmpty()) - new SaveFileTask(getBaseContext(), sFilePath, pageSystem.getAllText(mEditor.getText() + new SaveFileTask(this, sFilePath, pageSystem.getAllText(mEditor.getText() .toString()), currentEncoding).execute(); else { - NewFileDetailsDialog dialogFrag = NewFileDetailsDialog.newInstance - (pageSystem.getAllText(mEditor.getText().toString()), currentEncoding); - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); + NewFileDetailsDialog.newInstance + (pageSystem.getAllText(mEditor.getText().toString()), currentEncoding).show(getFragmentManager().beginTransaction(), "dialog"); } } @@ -605,7 +608,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find mDrawerLayout.setDrawerListener(mDrawerToggle); //mDrawerLayout.setFocusableInTouchMode(false); - listView = (ListView) findViewById(android.R.id.list); + ListView listView = (ListView) findViewById(android.R.id.list); listView.setEmptyView(findViewById(android.R.id.empty)); files = new LinkedList<>(); arrayAdapter = new AdapterDrawer(this, files, this); @@ -619,15 +622,15 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find horizontalScroll = (HorizontalScrollView) findViewById(R.id.horizontal_scroll); mEditor = (Editor) findViewById(R.id.editor); - if (PreferenceHelper.getWrapContent(getBaseContext())) { + //mEditor.setLayerType(View.LAYER_TYPE_NONE, null); + + if (PreferenceHelper.getWrapContent(this)) { horizontalScroll.removeView(mEditor); verticalScroll.removeView(horizontalScroll); verticalScroll.addView(mEditor); - } else { - // else show what is in the xml file fragment_editor.xml- } - if (PreferenceHelper.getReadOnly(getBaseContext())) { + if (PreferenceHelper.getReadOnly(this)) { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); } else { getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED); @@ -635,9 +638,9 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find verticalScroll.setScrollInterface(this); - pageSystem = new PageSystem(getBaseContext(), this, ""); + pageSystem = new PageSystem(this, this, "", null); - pageSystemButtons = new PageSystemButtons(getBaseContext(), this, + pageSystemButtons = new PageSystemButtons(this, this, (FloatingActionButton) findViewById(R.id.fabPrev), (FloatingActionButton) findViewById(R.id.fabNext)); } @@ -688,7 +691,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find || Intent.ACTION_PICK.equals(action) && type != null) { // Post event - EventBus.getDefault().postSticky(new EventBusEvents.NewFileToOpen(new File(intent + onEvent(new EventBusEvents.NewFileToOpen(new File(intent .getData().getPath()))); } else if (Intent.ACTION_SEND.equals(action) && type != null) { if ("text/plain".equals(type)) { @@ -726,8 +729,8 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find inputManager.hideSoftInputFromWindow(windowToken, hideType); } - public void updateTextSyntax() { - if (!PreferenceHelper.getSyntaxHighlight(getBaseContext()) || mEditor.hasSelection() || + void updateTextSyntax() { + if (!PreferenceHelper.getSyntaxHighlight(this) || mEditor.hasSelection() || updateHandler == null || colorRunnable_duringEditing == null) return; @@ -780,7 +783,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find //endregion //region EVENTBUS - public void onEvent(final EventBusEvents.NewFileToOpen event) { + void onEvent(final EventBusEvents.NewFileToOpen event) { if (fileOpened && mEditor.canSaveFile()) { SaveFileDialog.newInstance(sFilePath, pageSystem.getAllText(mEditor @@ -802,7 +805,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find super.onPreExecute(); // Close the drawer mDrawerLayout.closeDrawer(Gravity.START); - progressDialog = new ProgressDialog(BaseHomeActivity.this); + progressDialog = new ProgressDialog(MainActivity.this); progressDialog.setMessage(getString(R.string.please_wait)); progressDialog.show(); @@ -811,40 +814,42 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find @Override protected Void doInBackground(Void... params) { try { - boolean isRoot = false; - if (!file.exists() || !file.isFile()) { fileText = event.getFileText(); return null; } + file = file.getCanonicalFile(); + sFilePath = file.getAbsolutePath(); + fileExtension = FilenameUtils.getExtension(sFilePath).toLowerCase(); + + boolean isRoot; + if (!file.canRead()) { - Shell shell = null; + Shell shell; shell = Shell.startRootShell(); Toolbox tb = new Toolbox(shell); isRoot = tb.isRootAccessGiven(); + + if (isRoot) { + File tempFile = new File(getFilesDir(), "temp.root.file"); + if (!tempFile.exists()) + tempFile.createNewFile(); + tb.copyFile(event.getFile().getAbsolutePath(), + tempFile.getAbsolutePath(), false, false); + file = new File(tempFile.getAbsolutePath()); + } } - if (isRoot) { - File tempFile = new File(getFilesDir(), "temp.root.file"); - if (!tempFile.exists()) - tempFile.createNewFile(); - Shell shell = Shell.startRootShell(); - Toolbox tb = new Toolbox(shell); - tb.copyFile(event.getFile().getAbsolutePath(), - tempFile.getAbsolutePath(), false, false); - file = new File(tempFile.getAbsolutePath()); - } - - boolean autoencoding = PreferenceHelper.getAutoEncoding(BaseHomeActivity.this); + boolean autoencoding = PreferenceHelper.getAutoEncoding(MainActivity.this); if (autoencoding) { encoding = FileUtils.getDetectedEncoding(file); if (encoding.isEmpty()) { - encoding = PreferenceHelper.getEncoding(BaseHomeActivity.this); + encoding = PreferenceHelper.getEncoding(MainActivity.this); } } else { - encoding = PreferenceHelper.getEncoding(BaseHomeActivity.this); + encoding = PreferenceHelper.getEncoding(MainActivity.this); } fileText = org.apache.commons.io.FileUtils.readFileToString(file, encoding); @@ -868,15 +873,14 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find progressDialog.hide(); if (!message.isEmpty()) { - Toast.makeText(BaseHomeActivity.this, message, Toast.LENGTH_LONG).show(); - EventBus.getDefault().post(new EventBusEvents.CannotOpenAFile()); + Toast.makeText(MainActivity.this, message, Toast.LENGTH_LONG).show(); + onEvent(new EventBusEvents.CannotOpenAFile()); } else { - sFilePath = event.getFile().getAbsolutePath(); - pageSystem = new PageSystem(getBaseContext(), BaseHomeActivity.this, fileText); + pageSystem = new PageSystem(MainActivity.this, MainActivity.this, fileText, new File(sFilePath)); currentEncoding = encoding; - EventBus.getDefault().post(new EventBusEvents.AFileIsSelected(sFilePath)); + onEvent(new EventBusEvents.AFileIsSelected(sFilePath)); showTextEditor(); @@ -893,13 +897,13 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } }.execute(); - - EventBus.getDefault().removeStickyEvent(event); - } public void onEvent(EventBusEvents.SavedAFile event) { + sFilePath = event.getPath(); + fileExtension = FilenameUtils.getExtension(sFilePath).toLowerCase(); + mEditor.clearHistory(); mEditor.fileSaved(); invalidateOptionsMenu(); @@ -910,22 +914,6 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find e.printStackTrace(); } - /*// Get intent, action and MIME type - final Intent intent = getIntent(); - final String action = intent.getAction(); - final String type = intent.getType(); - - if (Intent.ACTION_VIEW.equals(action) - || Intent.ACTION_EDIT.equals(action) - || Intent.ACTION_PICK.equals(action) - && type != null) { - //This Activity was called by startActivityForResult - final Intent returnIntent = new Intent(); - setResult(Activity.RESULT_OK, returnIntent); - // finish the activity - finish(); - }*/ - refreshList(event.getPath(), true, false); arrayAdapter.selectView(event.getPath()); @@ -938,7 +926,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find * * @param event The event called */ - public void onEvent(EventBusEvents.CannotOpenAFile event) { + void onEvent(EventBusEvents.CannotOpenAFile event) { // mDrawerLayout.openDrawer(Gravity.LEFT); // @@ -956,7 +944,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } if (event.hasType(WRAP_CONTENT)) { - if (PreferenceHelper.getWrapContent(getBaseContext())) { + if (PreferenceHelper.getWrapContent(this)) { horizontalScroll.removeView(mEditor); verticalScroll.removeView(horizontalScroll); verticalScroll.addView(mEditor); @@ -969,31 +957,31 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find mEditor.disableTextChangedListener(); mEditor.replaceTextKeepCursor(null, true); mEditor.enableTextChangedListener(); - if (PreferenceHelper.getLineNumbers(getBaseContext())) { - mEditor.setPadding(EditTextPadding.getPaddingWithLineNumbers(getBaseContext(), - PreferenceHelper.getFontSize(getBaseContext())), - EditTextPadding.getPaddingTop(getBaseContext()), 0, 0); + if (PreferenceHelper.getLineNumbers(this)) { + mEditor.setPadding(EditTextPadding.getPaddingWithLineNumbers(this, + PreferenceHelper.getFontSize(this)), + EditTextPadding.getPaddingTop(this), 0, 0); } else { - mEditor.setPadding(EditTextPadding.getPaddingWithoutLineNumbers(getBaseContext()) - , EditTextPadding.getPaddingTop(getBaseContext()), 0, 0); + mEditor.setPadding(EditTextPadding.getPaddingWithoutLineNumbers(this) + , EditTextPadding.getPaddingTop(this), 0, 0); } } else if (event.hasType(SYNTAX)) { mEditor.disableTextChangedListener(); mEditor.replaceTextKeepCursor(null, true); mEditor.enableTextChangedListener(); } else if (event.hasType(MONOSPACE)) { - if (PreferenceHelper.getUseMonospace(getBaseContext())) - this.mEditor.setTypeface(Typeface.MONOSPACE); + if (PreferenceHelper.getUseMonospace(this)) + mEditor.setTypeface(Typeface.MONOSPACE); else - this.mEditor.setTypeface(Typeface.DEFAULT); + mEditor.setTypeface(Typeface.DEFAULT); } else if (event.hasType(THEME_CHANGE)) { - if (PreferenceHelper.getLightTheme(getBaseContext())) { + if (PreferenceHelper.getLightTheme(this)) { mEditor.setTextColor(getResources().getColor(R.color.textColorInverted)); } else { mEditor.setTextColor(getResources().getColor(R.color.textColor)); } } else if (event.hasType(TEXT_SUGGESTIONS) || event.hasType(READ_ONLY)) { - if (PreferenceHelper.getReadOnly(getBaseContext())) { + if (PreferenceHelper.getReadOnly(this)) { getWindow().setSoftInputMode(WindowManager.LayoutParams .SOFT_INPUT_STATE_ALWAYS_HIDDEN); mEditor.setReadOnly(true); @@ -1001,7 +989,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find getWindow().setSoftInputMode(WindowManager.LayoutParams .SOFT_INPUT_STATE_UNSPECIFIED); mEditor.setReadOnly(false); - if (PreferenceHelper.getSuggestionActive(getBaseContext())) { + if (PreferenceHelper.getSuggestionActive(this)) { mEditor.setInputType(InputType.TYPE_CLASS_TEXT | InputType .TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE); } else { @@ -1012,33 +1000,33 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } } // sometimes it becomes monospace after setting the input type - if (PreferenceHelper.getUseMonospace(getBaseContext())) - this.mEditor.setTypeface(Typeface.MONOSPACE); + if (PreferenceHelper.getUseMonospace(this)) + mEditor.setTypeface(Typeface.MONOSPACE); else - this.mEditor.setTypeface(Typeface.DEFAULT); + mEditor.setTypeface(Typeface.DEFAULT); } else if (event.hasType(FONT_SIZE)) { - if (PreferenceHelper.getLineNumbers(getBaseContext())) { - mEditor.setPadding(EditTextPadding.getPaddingWithLineNumbers(getBaseContext(), - PreferenceHelper.getFontSize(getBaseContext())), - EditTextPadding.getPaddingTop(getBaseContext()), 0, 0); + if (PreferenceHelper.getLineNumbers(this)) { + mEditor.setPadding(EditTextPadding.getPaddingWithLineNumbers(this, + PreferenceHelper.getFontSize(this)), + EditTextPadding.getPaddingTop(this), 0, 0); } else { - mEditor.setPadding(EditTextPadding.getPaddingWithoutLineNumbers(getBaseContext()) - , EditTextPadding.getPaddingTop(getBaseContext()), 0, 0); + mEditor.setPadding(EditTextPadding.getPaddingWithoutLineNumbers(this) + , EditTextPadding.getPaddingTop(this), 0, 0); } - this.mEditor.setTextSize(PreferenceHelper.getFontSize(getBaseContext())); + mEditor.setTextSize(PreferenceHelper.getFontSize(this)); } else if (event.hasType(ENCODING)) { String oldEncoding, newEncoding; oldEncoding = currentEncoding; - newEncoding = PreferenceHelper.getEncoding(getBaseContext()); + newEncoding = PreferenceHelper.getEncoding(this); try { - final byte[] oldText = this.mEditor.getText().toString().getBytes(oldEncoding); + final byte[] oldText = mEditor.getText().toString().getBytes(oldEncoding); mEditor.disableTextChangedListener(); mEditor.replaceTextKeepCursor(new String(oldText, newEncoding), true); mEditor.enableTextChangedListener(); currentEncoding = newEncoding; } catch (UnsupportedEncodingException ignored) { try { - final byte[] oldText = this.mEditor.getText().toString().getBytes(oldEncoding); + final byte[] oldText = mEditor.getText().toString().getBytes(oldEncoding); mEditor.disableTextChangedListener(); mEditor.replaceTextKeepCursor(new String(oldText, "UTF-8"), true); mEditor.enableTextChangedListener(); @@ -1048,20 +1036,18 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } } - public void onEvent(EventBusEvents.AFileIsSelected event) { + void onEvent(EventBusEvents.AFileIsSelected event) { arrayAdapter.selectView(event.getPath()); - - EventBus.getDefault().removeStickyEvent(event); } - public void onEvent(EventBusEvents.ClosedAFile event) { + void onEvent(EventBusEvents.ClosedAFile event) { arrayAdapter.selectView(""); } //endregion //region Calls from the layout public void OpenFile(View view) { - Intent subActivity = new Intent(BaseHomeActivity.this, SelectFileActivity.class); + Intent subActivity = new Intent(MainActivity.this, SelectFileActivity.class); subActivity.putExtra("action", SelectFileActivity.Actions.SelectFile); AnimationUtils.startActivityWithScale(this, subActivity, true, SELECT_FILE_CODE, view); } @@ -1096,9 +1082,9 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } }, 200); - if (PreferenceHelper.getPageSystemButtonsPopupShown(getBaseContext()) == false) { - PreferenceHelper.setPageSystemButtonsPopupShown(getBaseContext(), true); - Toast.makeText(getBaseContext(), getString(R.string.long_click_for_more_options), + if (!PreferenceHelper.getPageSystemButtonsPopupShown(this)) { + PreferenceHelper.setPageSystemButtonsPopupShown(this, true); + Toast.makeText(this, getString(R.string.long_click_for_more_options), Toast.LENGTH_LONG).show(); } } @@ -1118,9 +1104,9 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } }, 200); - if (PreferenceHelper.getPageSystemButtonsPopupShown(getBaseContext()) == false) { - PreferenceHelper.setPageSystemButtonsPopupShown(getBaseContext(), true); - Toast.makeText(getBaseContext(), getString(R.string.long_click_for_more_options), + if (!PreferenceHelper.getPageSystemButtonsPopupShown(this)) { + PreferenceHelper.setPageSystemButtonsPopupShown(this, true); + Toast.makeText(this, getString(R.string.long_click_for_more_options), Toast.LENGTH_LONG).show(); } } @@ -1129,10 +1115,8 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find public void pageSystemButtonLongClicked() { int maxPages = pageSystem.getMaxPage(); int currentPage = pageSystem.getCurrentPage(); - SeekbarDialog dialogFrag = SeekbarDialog.newInstance - (SeekbarDialog.Actions.SelectPage, 0, currentPage, maxPages); - - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); + NumberPickerDialog.newInstance + (NumberPickerDialog.Actions.SelectPage, 0, currentPage, maxPages).show(getFragmentManager().beginTransaction(), "dialog"); } @Override @@ -1147,7 +1131,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find @Override public void onSearchDone(SearchResult searchResult) { - this.searchResult = searchResult; + MainActivity.searchResult = searchResult; searchingText = true; invalidateOptionsMenu(); @@ -1183,7 +1167,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find public void onScrollChanged(int l, int t, int oldl, int oldt) { pageSystemButtons.updateVisibility(Math.abs(t) > 10); - if (!PreferenceHelper.getSyntaxHighlight(getBaseContext()) || (mEditor.hasSelection() && + if (!PreferenceHelper.getSyntaxHighlight(this) || (mEditor.hasSelection() && !searchingText) || updateHandler == null || colorRunnable_duringScroll == null) return; @@ -1193,8 +1177,8 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } @Override - public void onSeekbarDialogDismissed(SeekbarDialog.Actions action, int value) { - if (action == SeekbarDialog.Actions.SelectPage) { + public void onNumberPickerDialogDismissed(NumberPickerDialog.Actions action, int value) { + if (action == NumberPickerDialog.Actions.SelectPage) { pageSystem.savePage(mEditor.getText().toString()); pageSystem.goToPage(value); mEditor.disableTextChangedListener(); @@ -1208,7 +1192,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } }, 200); - } else if (action == SeekbarDialog.Actions.GoToLine) { + } else if (action == NumberPickerDialog.Actions.GoToLine) { int fakeLine = mEditor.getLineUtils().fakeLineFromRealLine(value); final int y = mEditor.getLineUtils().getYAtLine(verticalScroll, @@ -1226,7 +1210,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find @Override public void userDoesntWantToSave(boolean openNewFile, String pathOfNewFile) { - mEditor.canSaveFile = false; + Editor.canSaveFile = false; if(openNewFile) onEvent(new EventBusEvents.NewFileToOpen(new File(pathOfNewFile))); else @@ -1237,13 +1221,14 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find public void CancelItem(int position, boolean andCloseOpenedFile) { refreshList(files.get(position).getAbsolutePath(), false, true); if (andCloseOpenedFile) - EventBus.getDefault().post(new EventBusEvents.CannotOpenAFile()); + onEvent(new EventBusEvents.CannotOpenAFile()); } //endregion public static class Editor extends EditText { - private final TextPaint mPaintNumbers = new TextPaint(); + //region VARIABLES + private static final TextPaint mPaintNumbers = new TextPaint(); /** * The edit history. */ @@ -1257,11 +1242,13 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find * Disconnect this undo/redo from the text * view. */ - private boolean enabledChangeListener; - //region VARIABLES - private int lineCount, realLine, startingLine; - private LineUtils lineUtils; - private boolean modified; + private static boolean enabledChangeListener; + private static int paddingTop; + private static int numbersWidth; + private static int lineHeight; + + private static int lineCount, realLine, startingLine; + private static LineUtils lineUtils; /** * Is undo/redo being performed? This member * signals if an undo/redo operation is @@ -1269,52 +1256,42 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find * text during undo/redo are not recorded * because it would mess up the undo history. */ - private boolean mIsUndoOrRedo; - private Matcher m; - private boolean mShowUndo, mShowRedo; - private boolean canSaveFile; - private KeyListener keyListener; - private int firstVisibleIndex, firstColoredIndex; - private int deviceHeight; + private static boolean mIsUndoOrRedo; + private static Matcher m; + private static boolean mShowUndo, mShowRedo; + private static boolean canSaveFile; + private static KeyListener keyListener; + private static int firstVisibleIndex, firstColoredIndex; + private static int deviceHeight; + private static int editorHeight; + private static boolean[] hasNewLineArray; + private static int[] realLines; + private static boolean wrapContent; + private static int lastLine; + private static int firstLine; + private static CharSequence textToHighlight; + private static int lastVisibleIndex; + private static int i; //endregion //region CONSTRUCTOR public Editor(final Context context, AttributeSet attrs) { super(context, attrs); + + //setLayerType(View.LAYER_TYPE_NONE, null); + mEditHistory = new EditHistory(); mChangeListener = new EditTextChangeListener(); lineUtils = new LineUtils(); deviceHeight = getResources().getDisplayMetrics().heightPixels; - this.mPaintNumbers.setAntiAlias(true); - this.mPaintNumbers.setDither(false); - this.mPaintNumbers.setTextAlign(Paint.Align.RIGHT); + paddingTop = EditTextPadding.getPaddingTop(getContext()); - // Syntax editor - /*setFilters(new InputFilter[]{ - new InputFilter() { - @Override - public CharSequence filter( - CharSequence source, - int start, - int end, - Spanned dest, - int dstart, - int dend) { - if (modified) { - return autoIndent( - source, - start, - end, - dest, - dstart, - dend); - } - - return source; - } - }});*/ + mPaintNumbers.setAntiAlias(true); + mPaintNumbers.setDither(false); + mPaintNumbers.setTextAlign(Paint.Align.RIGHT); + mPaintNumbers.setColor(getResources().getColor(R.color.file_text)); if (PreferenceHelper.getLightTheme(getContext())) { setTextColor(getResources().getColor(R.color.textColorInverted)); @@ -1357,7 +1334,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find @Override public void onClick(View v) { if (!PreferenceHelper.getReadOnly(getContext())) { - ((BaseHomeActivity) getContext()).verticalScroll.tempDisableListener(1000); + verticalScroll.tempDisableListener(1000); ((InputMethodManager) getContext().getSystemService(Context .INPUT_METHOD_SERVICE)) .showSoftInput(Editor.this, InputMethodManager.SHOW_IMPLICIT); @@ -1369,7 +1346,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus && !PreferenceHelper.getReadOnly(getContext())) { - ((BaseHomeActivity) getContext()).verticalScroll.tempDisableListener(1000); + verticalScroll.tempDisableListener(1000); ((InputMethodManager) getContext().getSystemService(Context .INPUT_METHOD_SERVICE)) .showSoftInput(Editor.this, InputMethodManager.SHOW_IMPLICIT); @@ -1382,81 +1359,6 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find resetVariables(); } - /*private CharSequence autoIndent( - CharSequence source, - int start, - int end, - Spanned dest, - int dstart, - int dend) { - if (end - start != 1 || - start >= source.length() || - source.charAt(start) != '\n' || - dstart >= dest.length()) { - return source; - } - - int istart = dstart; - int iend; - String indent = ""; - - // skip end of line if cursor is at the end of a line - if (dest.charAt(istart) == '\n') { - --istart; - } - - // indent next line if this one isn't terminated - if (istart > -1) { - // skip white space - for (; istart > -1; --istart) { - char c = dest.charAt(istart); - - if (c != ' ' && - c != '\t') { - break; - } - } - - if (istart > -1) { - char c = dest.charAt(istart); - - if (c != ';' && - c != '\n') { - indent = "\t"; - } - } - } - - // find start of previous line - for (; istart > -1; --istart) { - if (dest.charAt(istart) == '\n') { - break; - } - } - - // cursor is in the first line - if (istart < 0) { - return source; - } - - // span over previous indent - for (iend = ++istart; - iend < dend; - ++iend) { - char c = dest.charAt(iend); - - if (c != ' ' && - c != '\t') { - break; - } - } - - // copy white space of previous lines and append new indent - return "\n" + dest.subSequence( - istart, - iend) + indent; - }*/ - public void setReadOnly(boolean value) { if (value) { keyListener = getKeyListener(); @@ -1472,40 +1374,34 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find public void setTextSize(float size) { super.setTextSize(size); final float scale = getContext().getResources().getDisplayMetrics().density; - this.mPaintNumbers.setTextSize((int) (size * scale * 0.65f)); + mPaintNumbers.setTextSize((int) (size * scale * 0.65f)); + numbersWidth = (int) (EditTextPadding.getPaddingWithLineNumbers(getContext(), + PreferenceHelper.getFontSize(getContext())) * 0.8); + lineHeight = getLineHeight(); } - @Override - public void setTextColor(int color) { - super.setTextColor(color); - //this.mPaintNumbers.setColor(getTextColors().getDefaultColor()); - this.mPaintNumbers.setColor(getResources().getColor(R.color.file_text)); - } @Override - public void onDraw(final Canvas canvas) { + public void onDraw(@NonNull final Canvas canvas) { + + if (lineCount != getLineCount() || startingLine != pageSystem.getStartingLine()) { + startingLine = pageSystem.getStartingLine(); + lineCount = getLineCount(); + lineUtils.updateHasNewLineArray(pageSystem + .getStartingLine(), lineCount, getLayout(), getText().toString()); + + hasNewLineArray = lineUtils.getToCountLinesArray(); + realLines = lineUtils.getRealLines(); + + } + + editorHeight = getHeight(); + firstLine = lineUtils.getFirstVisibleLine(verticalScroll, editorHeight, lineCount); + lastLine = lineUtils.getLastVisibleLine(verticalScroll, editorHeight, lineCount, deviceHeight); if (PreferenceHelper.getLineNumbers(getContext())) { - if (lineCount != getLineCount() || startingLine != ((BaseHomeActivity) getContext - ()).pageSystem.getStartingLine()) { - startingLine = ((BaseHomeActivity) getContext()).pageSystem.getStartingLine(); - lineCount = getLineCount(); - - lineUtils.updateHasNewLineArray(((BaseHomeActivity) getContext()).pageSystem - .getStartingLine(), lineCount, getLayout(), getText().toString()); - } - - int editorHeight = getHeight(); - int i = lineUtils.getFirstVisibleLine(((BaseHomeActivity) getContext()) - .verticalScroll, editorHeight, lineCount); - int lastLine = lineUtils.getLastVisibleLine(((BaseHomeActivity) getContext()) - .verticalScroll, editorHeight, lineCount, deviceHeight); - boolean[] hasNewLineArray = lineUtils.getToCountLinesArray(); - int[] realLines = lineUtils.getRealLines(); - boolean wrapContent = PreferenceHelper.getWrapContent(getContext()); - int numbersWidth = (int) (EditTextPadding.getPaddingWithLineNumbers(getContext(), - PreferenceHelper.getFontSize(getContext())) * 0.8); - int paddingTop = EditTextPadding.getPaddingTop(getContext()); + wrapContent = PreferenceHelper.getWrapContent(getContext()); + i = firstLine; while (i < lastLine) { // if last line we count it anyway @@ -1518,15 +1414,14 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find realLine = realLines[i]; canvas.drawText(String.valueOf(realLine), - numbersWidth, // they all center aligned - paddingTop + getLineHeight() * (i + 1), + numbersWidth, // they are all center aligned + paddingTop + lineHeight * (i + 1), mPaintNumbers); } i++; } } - super.onDraw(canvas); } @@ -1536,7 +1431,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find //region Other @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { + public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) { if (event.isCtrlPressed()) { switch (keyCode) { @@ -1557,7 +1452,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find return onTextContextMenuItem(ID_REDO); } case KeyEvent.KEYCODE_S: - ((BaseHomeActivity) getContext()).saveTheFile(); + ((MainActivity) getContext()).saveTheFile(); return true; default: return super.onKeyDown(keyCode, event); @@ -1579,7 +1474,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } @Override - public boolean onKeyUp(int keyCode, KeyEvent event) { + public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) { if (event.isCtrlPressed()) { switch (keyCode) { case KeyEvent.KEYCODE_A: @@ -1712,7 +1607,6 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find lineCount = 0; realLine = 0; startingLine = 0; - modified = true; mIsUndoOrRedo = false; mShowUndo = false; mShowRedo = false; @@ -1741,7 +1635,6 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find cursorPosEnd = getSelectionEnd(); } disableTextChangedListener(); - modified = false; if (PreferenceHelper.getSyntaxHighlight(getContext())) setText(highlight(textToUpdate == null ? getEditableText() : Editable.Factory @@ -1749,7 +1642,6 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find else setText(textToUpdate == null ? getText().toString() : textToUpdate); - modified = true; enableTextChangedListener(); if (mantainCursorPos) @@ -1772,26 +1664,22 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find } public CharSequence highlight(Editable editable, boolean newText) { - final String fileExtension = FilenameUtils.getExtension(((BaseHomeActivity) - getContext()).sFilePath).toLowerCase(); editable.clearSpans(); if (editable.length() == 0) { return editable; } - int end; - int height = getHeight(); + editorHeight = getHeight(); - if (newText == false && height > 0) { - firstVisibleIndex = getLayout().getLineStart(getLineUtils().getFirstVisibleLine(( - (BaseHomeActivity) getContext()).verticalScroll, height, getLineCount())); - end = getLayout().getLineStart(getLineUtils().getLastVisibleLine(( - (BaseHomeActivity) getContext()).verticalScroll, height, getLineCount(), - deviceHeight)); + if (!newText && editorHeight > 0) { + firstLine = lineUtils.getFirstVisibleLine(verticalScroll, editorHeight, lineCount); + lastLine = lineUtils.getLastVisibleLine(verticalScroll, editorHeight, lineCount, deviceHeight); + firstVisibleIndex = getLayout().getLineStart(firstLine); + lastVisibleIndex = getLayout().getLineStart(lastLine); } else { firstVisibleIndex = 0; - end = CHARS_TO_COLOR; + lastVisibleIndex = CHARS_TO_COLOR; } firstColoredIndex = firstVisibleIndex - (CHARS_TO_COLOR / 5); @@ -1799,13 +1687,13 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find // normalize if (firstColoredIndex < 0) firstColoredIndex = 0; - if (end > editable.length()) - end = editable.length(); - if (firstColoredIndex > end) - firstColoredIndex = end; + if (lastVisibleIndex > editable.length()) + lastVisibleIndex = editable.length(); + if (firstColoredIndex > lastVisibleIndex) + firstColoredIndex = lastVisibleIndex; - CharSequence textToHighlight = editable.subSequence(firstColoredIndex, end); + textToHighlight = editable.subSequence(firstColoredIndex, lastVisibleIndex); if (fileExtension.contains("htm") || fileExtension.contains("xml")) { @@ -1821,14 +1709,18 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find color(Patterns.SYMBOLS, editable, textToHighlight, firstColoredIndex); color(Patterns.GENERAL_COMMENTS, editable, textToHighlight, firstColoredIndex); } else if (Arrays.asList(MimeTypes.MIME_CODE).contains(fileExtension)) { - if (fileExtension.equals("lua")) - color(Patterns.LUA_KEYWORDS, editable, textToHighlight, firstColoredIndex); - else if (fileExtension.equals("py")) - color(Patterns.PY_KEYWORDS, editable, textToHighlight, firstColoredIndex); - else - color(Patterns.GENERAL_KEYWORDS, editable, textToHighlight, firstColoredIndex); - color(Patterns.NUMBERS, editable, textToHighlight, firstColoredIndex); - color(Patterns.SYMBOLS, editable, textToHighlight, firstColoredIndex); + switch (fileExtension) { + case "lua": + color(Patterns.LUA_KEYWORDS, editable, textToHighlight, firstColoredIndex); + break; + case "py": + color(Patterns.PY_KEYWORDS, editable, textToHighlight, firstColoredIndex); + break; + default: + color(Patterns.GENERAL_KEYWORDS, editable, textToHighlight, firstColoredIndex); + break; + } + color(Patterns.NUMBERS_OR_SYMBOLS, editable, textToHighlight, firstColoredIndex); color(Patterns.GENERAL_STRINGS, editable, textToHighlight, firstColoredIndex); color(Patterns.GENERAL_COMMENTS, editable, textToHighlight, firstColoredIndex); if (fileExtension.equals("php")) @@ -1838,19 +1730,18 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find color(Patterns.GENERAL_STRINGS, editable, textToHighlight, firstColoredIndex); color(Patterns.SQL_KEYWORDS, editable, textToHighlight, firstColoredIndex); } else { - if (!fileExtension.contains("md")) + if (!(Arrays.asList(MimeTypes.MIME_MARKDOWN).contains(fileExtension))) color(Patterns.GENERAL_KEYWORDS, editable, textToHighlight, firstColoredIndex); - color(Patterns.NUMBERS, editable, textToHighlight, firstColoredIndex); - color(Patterns.SYMBOLS, editable, textToHighlight, firstColoredIndex); + color(Patterns.NUMBERS_OR_SYMBOLS, editable, textToHighlight, firstColoredIndex); color(Patterns.GENERAL_STRINGS, editable, textToHighlight, firstColoredIndex); if (fileExtension.equals("prop") || fileExtension.contains("conf") || - fileExtension.contains("md")) + (Arrays.asList(MimeTypes.MIME_MARKDOWN).contains(fileExtension))) color(Patterns.GENERAL_COMMENTS_NO_SLASH, editable, textToHighlight, firstColoredIndex); else color(Patterns.GENERAL_COMMENTS, editable, textToHighlight, firstColoredIndex); - if (fileExtension.contains("md")) + if ((Arrays.asList(MimeTypes.MIME_MARKDOWN).contains(fileExtension))) color(Patterns.LINK, editable, textToHighlight, firstColoredIndex); } @@ -1894,7 +1785,7 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find color = getResources().getColor(R.color.syntax_comment); } else if (pattern.equals(Patterns.GENERAL_STRINGS)) { color = getResources().getColor(R.color.syntax_string); - } else if (pattern.equals(Patterns.NUMBERS) || pattern.equals(Patterns.SYMBOLS)) { + } else if (pattern.equals(Patterns.NUMBERS) || pattern.equals(Patterns.SYMBOLS) || pattern.equals(Patterns.NUMBERS_OR_SYMBOLS)) { color = getResources().getColor(R.color.syntax_number); } else if (pattern.equals(Patterns.PHP_VARIABLES)) { color = getResources().getColor(R.color.syntax_variable); @@ -2072,10 +1963,10 @@ public abstract class BaseHomeActivity extends ActionBarActivity implements Find if (showUndo != mShowUndo || showRedo != mShowRedo) { mShowUndo = showUndo; mShowRedo = showRedo; - ((BaseHomeActivity) getContext()).invalidateOptionsMenu(); + ((MainActivity) getContext()).invalidateOptionsMenu(); } - ((BaseHomeActivity) getContext()).updateTextSyntax(); + ((MainActivity) getContext()).updateTextSyntax(); } } diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/SelectFileActivity.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/SelectFileActivity.java index adcbd62..3aeb5b5 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/SelectFileActivity.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/SelectFileActivity.java @@ -55,7 +55,7 @@ import java.util.concurrent.TimeoutException; import sharedcode.turboeditor.R; import sharedcode.turboeditor.adapter.AdapterDetailedList; -import sharedcode.turboeditor.fragment.EditTextDialog; +import sharedcode.turboeditor.dialogfragment.EditTextDialog; import sharedcode.turboeditor.preferences.PreferenceHelper; import sharedcode.turboeditor.root.RootUtils; import sharedcode.turboeditor.util.AlphanumComparator; @@ -105,15 +105,12 @@ public class SelectFileActivity extends ActionBarActivity implements SearchView. popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { - final EditTextDialog dialogFrag; int i = item.getItemId(); if (i == R.id.im_new_file) { - dialogFrag = EditTextDialog.newInstance(EditTextDialog.Actions.NewFile); - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); + EditTextDialog.newInstance(EditTextDialog.Actions.NewFile).show(getFragmentManager().beginTransaction(), "dialog"); return true; } else if (i == R.id.im_new_folder) { - dialogFrag = EditTextDialog.newInstance(EditTextDialog.Actions.NewFolder); - dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); + EditTextDialog.newInstance(EditTextDialog.Actions.NewFolder).show(getFragmentManager().beginTransaction(), "dialog"); return true; } else { return false; @@ -368,7 +365,8 @@ public class SelectFileActivity extends ActionBarActivity implements SearchView. AdapterDetailedList mAdapter = new AdapterDetailedList(getBaseContext(), names, isRoot); listView.setAdapter(mAdapter); filter = mAdapter.getFilter(); - } else if (exceptionMessage != null) { + } + if (exceptionMessage != null) { Toast.makeText(SelectFileActivity.this, exceptionMessage, Toast.LENGTH_SHORT).show(); } invalidateOptionsMenu(); diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/MyApp.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/application/MyApp.java similarity index 96% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/MyApp.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/application/MyApp.java index 45f36b8..1c84e71 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/activity/MyApp.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/application/MyApp.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.activity; +package sharedcode.turboeditor.application; import android.app.Application; import android.view.ViewConfiguration; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/AboutDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/AboutDialog.java similarity index 97% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/AboutDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/AboutDialog.java index 64747b1..be60049 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/AboutDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/AboutDialog.java @@ -16,7 +16,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; + +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; @@ -28,7 +29,6 @@ import android.content.res.Resources; import android.os.Bundle; import android.text.Html; import android.view.View; -import android.widget.Toast; import sharedcode.turboeditor.R; import sharedcode.turboeditor.views.DialogHelper; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/ChangelogDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/ChangelogDialog.java similarity index 98% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/ChangelogDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/ChangelogDialog.java index 3c6dbe2..2d2818a 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/ChangelogDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/ChangelogDialog.java @@ -16,7 +16,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; + +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EditTextDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/EditTextDialog.java similarity index 98% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EditTextDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/EditTextDialog.java index fe337fe..50a2a8d 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EditTextDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/EditTextDialog.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EncodingDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/EncodingDialog.java similarity index 98% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EncodingDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/EncodingDialog.java index 3a0bb46..b89b3e7 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/EncodingDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/EncodingDialog.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/FileInfoDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/FileInfoDialog.java similarity index 98% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/FileInfoDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/FileInfoDialog.java index abbf52c..aad6ecf 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/FileInfoDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/FileInfoDialog.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/FindTextDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/FindTextDialog.java similarity index 99% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/FindTextDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/FindTextDialog.java index 22b7947..bdf1f7b 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/FindTextDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/FindTextDialog.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/NewFileDetailsDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/NewFileDetailsDialog.java similarity index 92% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/NewFileDetailsDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/NewFileDetailsDialog.java index 2fd01a1..d1f7fdb 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/NewFileDetailsDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/NewFileDetailsDialog.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; @@ -31,6 +31,7 @@ import android.widget.EditText; import java.io.File; import sharedcode.turboeditor.R; +import sharedcode.turboeditor.activity.MainActivity; import sharedcode.turboeditor.preferences.PreferenceHelper; import sharedcode.turboeditor.task.SaveFileTask; import sharedcode.turboeditor.views.DialogHelper; @@ -75,7 +76,7 @@ public class NewFileDetailsDialog extends DialogFragment { public void onClick(DialogInterface dialog, int which) { if (!mName.getText().toString().isEmpty() && !mFolder.getText().toString().isEmpty()) { File file = new File(mFolder.getText().toString(), mName.getText().toString()); - new SaveFileTask(getActivity(), file.getPath(), getArguments().getString("fileText"), getArguments().getString("fileEncoding")).execute(); + new SaveFileTask((MainActivity) getActivity(), file.getPath(), getArguments().getString("fileText"), getArguments().getString("fileEncoding")).execute(); PreferenceHelper.setWorkingFolder(getActivity(), file.getParent()); } } diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SeekbarDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/NumberPickerDialog.java similarity index 82% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SeekbarDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/NumberPickerDialog.java index da41492..8368647 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SeekbarDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/NumberPickerDialog.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; @@ -31,16 +31,16 @@ import sharedcode.turboeditor.R; import sharedcode.turboeditor.views.DialogHelper; // ... -public class SeekbarDialog extends DialogFragment { +public class NumberPickerDialog extends DialogFragment { private NumberPicker mSeekBar; - public static SeekbarDialog newInstance(final Actions action) { - return SeekbarDialog.newInstance(action, 0, 50, 100); + public static NumberPickerDialog newInstance(final Actions action) { + return NumberPickerDialog.newInstance(action, 0, 50, 100); } - public static SeekbarDialog newInstance(final Actions action, final int min, final int current, final int max) { - final SeekbarDialog f = new SeekbarDialog(); + public static NumberPickerDialog newInstance(final Actions action, final int min, final int current, final int max) { + final NumberPickerDialog f = new NumberPickerDialog(); final Bundle args = new Bundle(); args.putSerializable("action", action); args.putInt("min", min); @@ -102,11 +102,11 @@ public class SeekbarDialog extends DialogFragment { } void returnData() { - ISeekbarDialog target = (ISeekbarDialog) getTargetFragment(); + INumberPickerDialog target = (INumberPickerDialog) getTargetFragment(); if (target == null) { - target = (ISeekbarDialog) getActivity(); + target = (INumberPickerDialog) getActivity(); } - target.onSeekbarDialogDismissed( + target.onNumberPickerDialogDismissed( (Actions) getArguments().getSerializable("action"), mSeekBar.getValue() ); @@ -117,7 +117,7 @@ public class SeekbarDialog extends DialogFragment { FontSize, SelectPage, GoToLine } - public interface ISeekbarDialog { - void onSeekbarDialogDismissed(Actions action, int value); + public interface INumberPickerDialog { + void onNumberPickerDialogDismissed(Actions action, int value); } } \ No newline at end of file diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SaveFileDialog.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/SaveFileDialog.java similarity index 95% rename from libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SaveFileDialog.java rename to libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/SaveFileDialog.java index 3f4149a..9a4acab 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/fragment/SaveFileDialog.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/dialogfragment/SaveFileDialog.java @@ -17,7 +17,7 @@ * along with this program. If not, see . */ -package sharedcode.turboeditor.fragment; +package sharedcode.turboeditor.dialogfragment; import android.app.AlertDialog; import android.app.Dialog; @@ -31,6 +31,7 @@ import org.apache.commons.io.FilenameUtils; import java.io.File; import sharedcode.turboeditor.R; +import sharedcode.turboeditor.activity.MainActivity; import sharedcode.turboeditor.task.SaveFileTask; import sharedcode.turboeditor.views.DialogHelper; @@ -75,7 +76,7 @@ public class SaveFileDialog extends DialogFragment { @Override public void onClick(DialogInterface dialog, int which) { if (!fileName.isEmpty()) - new SaveFileTask(getActivity(), filePath, text, + new SaveFileTask((MainActivity) getActivity(), filePath, text, encoding).execute(); else { NewFileDetailsDialog dialogFrag = diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/PreferenceHelper.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/PreferenceHelper.java index 084f3be..408e575 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/PreferenceHelper.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/PreferenceHelper.java @@ -155,7 +155,7 @@ public final class PreferenceHelper { } public static void setHasDonated(Context context, boolean value) { - getEditor(context).putBoolean("has_donated", value); + getEditor(context).putBoolean("has_donated", value).commit(); } public static void setLightTheme(Context context, boolean value) { diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/SettingsFragment.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/SettingsFragment.java index 3bb26f4..8a51d4c 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/SettingsFragment.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/preferences/SettingsFragment.java @@ -28,10 +28,10 @@ import android.view.ViewGroup; import android.widget.CompoundButton; import android.widget.TextView; -import de.greenrobot.event.EventBus; import sharedcode.turboeditor.R; -import sharedcode.turboeditor.fragment.EncodingDialog; -import sharedcode.turboeditor.fragment.SeekbarDialog; +import sharedcode.turboeditor.activity.MainActivity; +import sharedcode.turboeditor.dialogfragment.EncodingDialog; +import sharedcode.turboeditor.dialogfragment.NumberPickerDialog; import sharedcode.turboeditor.util.ProCheckUtils; import sharedcode.turboeditor.util.ViewUtils; import sharedcode.turboeditor.views.DialogHelper; @@ -47,7 +47,7 @@ import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChan import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.THEME_CHANGE; import static sharedcode.turboeditor.util.EventBusEvents.APreferenceValueWasChanged.Type.WRAP_CONTENT; -public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbarDialog, EncodingDialog.DialogListener { +public class SettingsFragment extends Fragment implements NumberPickerDialog.INumberPickerDialog, EncodingDialog.DialogListener { // Editor Variables private boolean sLineNumbers; @@ -127,7 +127,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { PreferenceHelper.setLineNumbers(getActivity(), isChecked); - EventBus.getDefault().post(new APreferenceValueWasChanged(LINE_NUMERS)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(LINE_NUMERS)); } }); @@ -136,7 +136,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { sColorSyntax = isChecked; PreferenceHelper.setSyntaxHighlight(getActivity(), isChecked); - EventBus.getDefault().post(new APreferenceValueWasChanged(SYNTAX)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(SYNTAX)); } }); @@ -145,7 +145,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { PreferenceHelper.setWrapContent(getActivity(), isChecked); - EventBus.getDefault().post(new APreferenceValueWasChanged(WRAP_CONTENT)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(WRAP_CONTENT)); } }); @@ -154,7 +154,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { sUseMonospace = isChecked; PreferenceHelper.setUseMonospace(getActivity(), isChecked); - EventBus.getDefault().post(new APreferenceValueWasChanged(MONOSPACE)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(MONOSPACE)); } }); @@ -163,7 +163,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { PreferenceHelper.setReadOnly(getActivity(), isChecked); - EventBus.getDefault().post(new APreferenceValueWasChanged(READ_ONLY)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(READ_ONLY)); } }); @@ -174,7 +174,8 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar int fontCurrent = //(int) (mEditor.getTextSize() / scaledDensity); //fontMax / 2; PreferenceHelper.getFontSize(getActivity()); - SeekbarDialog dialogFrag = SeekbarDialog.newInstance(SeekbarDialog.Actions + NumberPickerDialog dialogFrag = NumberPickerDialog.newInstance(NumberPickerDialog + .Actions .FontSize, 1, fontCurrent, fontMax); dialogFrag.setTargetFragment(SettingsFragment.this, 0); dialogFrag.show(getFragmentManager().beginTransaction(), "dialog"); @@ -210,7 +211,7 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { PreferenceHelper.setLightTheme(getActivity(), isChecked); - EventBus.getDefault().post(new APreferenceValueWasChanged(THEME_CHANGE)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(THEME_CHANGE)); } }); @@ -218,7 +219,35 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { PreferenceHelper.setSuggestionsActive(getActivity(), isChecked); - EventBus.getDefault().post(new APreferenceValueWasChanged(TEXT_SUGGESTIONS)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(TEXT_SUGGESTIONS)); + } + }); + + swAutoSave.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + PreferenceHelper.setAutoSave(getActivity(), isChecked); + } + }); + + swIgnoreBackButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + PreferenceHelper.setIgnoreBackButton(getActivity(), isChecked); + } + }); + + swSplitText.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + PreferenceHelper.setSplitText(getActivity(), isChecked); + } + }); + + swErrorReports.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + PreferenceHelper.setSendErrorReport(getActivity(), isChecked); } }); @@ -226,15 +255,15 @@ public class SettingsFragment extends Fragment implements SeekbarDialog.ISeekbar } @Override - public void onSeekbarDialogDismissed(SeekbarDialog.Actions action, int value) { + public void onNumberPickerDialogDismissed(NumberPickerDialog.Actions action, int value) { PreferenceHelper.setFontSize(getActivity(), value); - EventBus.getDefault().post(new APreferenceValueWasChanged(FONT_SIZE)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(FONT_SIZE)); } @Override public void onEncodingSelected(String result) { PreferenceHelper.setEncoding(getActivity(), result); - EventBus.getDefault().post(new APreferenceValueWasChanged(ENCODING)); + ((MainActivity) getActivity()).onEvent(new APreferenceValueWasChanged(ENCODING)); } } diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/task/SaveFileTask.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/task/SaveFileTask.java index bc4d5a0..cc6284d 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/task/SaveFileTask.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/task/SaveFileTask.java @@ -19,7 +19,6 @@ package sharedcode.turboeditor.task; -import android.content.Context; import android.os.AsyncTask; import android.widget.Toast; @@ -30,14 +29,14 @@ import java.io.File; import java.io.IOException; import java.util.concurrent.TimeoutException; -import de.greenrobot.event.EventBus; import sharedcode.turboeditor.R; +import sharedcode.turboeditor.activity.MainActivity; import sharedcode.turboeditor.root.RootUtils; import sharedcode.turboeditor.util.EventBusEvents; public class SaveFileTask extends AsyncTask { - private final Context context; + private final MainActivity activity; private final String filePath; private final String text; private final String encoding; @@ -45,8 +44,8 @@ public class SaveFileTask extends AsyncTask { private String message; private String positiveMessage; - public SaveFileTask(Context context, String filePath, String text, String encoding) { - this.context = context; + public SaveFileTask(MainActivity activity, String filePath, String text, String encoding) { + this.activity = activity; this.filePath = filePath; this.text = text; this.encoding = encoding; @@ -56,7 +55,7 @@ public class SaveFileTask extends AsyncTask { protected void onPreExecute() { super.onPreExecute(); file = new File(filePath); - positiveMessage = String.format(context.getString(R.string.file_saved_with_success), file.getName()); + positiveMessage = String.format(activity.getString(R.string.file_saved_with_success), file.getName()); } /** @@ -85,7 +84,7 @@ public class SaveFileTask extends AsyncTask { } } - RootUtils.writeFile(context, file.getAbsolutePath(), text, encoding, isRoot); + RootUtils.writeFile(activity, file.getAbsolutePath(), text, encoding, isRoot); message = positiveMessage; } catch (Exception e) { @@ -100,8 +99,8 @@ public class SaveFileTask extends AsyncTask { @Override protected void onPostExecute(final Void aVoid) { super.onPostExecute(aVoid); - Toast.makeText(context, message, Toast.LENGTH_LONG).show(); + Toast.makeText(activity, message, Toast.LENGTH_LONG).show(); if (message.equals(positiveMessage)) - EventBus.getDefault().post(new EventBusEvents.SavedAFile(filePath)); + activity.onEvent(new EventBusEvents.SavedAFile(filePath)); } } \ No newline at end of file diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/LineUtils.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/LineUtils.java index 080b42b..3ca24ab 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/LineUtils.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/LineUtils.java @@ -34,17 +34,17 @@ public class LineUtils { return realLines; } - public int getYAtLine(ScrollView scrollView, int lineCount, int line) { + public static int getYAtLine(ScrollView scrollView, int lineCount, int line) { return scrollView.getChildAt(0).getHeight() / lineCount * line; } - public int getFirstVisibleLine(ScrollView scrollView, int childHeight, int lineCount) throws ArithmeticException { + public static int getFirstVisibleLine(ScrollView scrollView, int childHeight, int lineCount) throws ArithmeticException { int line = (scrollView.getScrollY() * lineCount) / childHeight; if (line < 0) line = 0; return line; } - public int getLastVisibleLine(ScrollView scrollView, int childHeight, int lineCount, int deviceHeight) { + public static int getLastVisibleLine(ScrollView scrollView, int childHeight, int lineCount, int deviceHeight) { int line = ((scrollView.getScrollY() + deviceHeight) * lineCount) / childHeight; if (line > lineCount) line = lineCount; return line; @@ -61,7 +61,8 @@ public class LineUtils { // for every line on the edittext for (i = 0; i < lineCount; i++) { // check if this line contains "\n" - hasNewLineArray[i] = text.substring(layout.getLineStart(i), layout.getLineEnd(i)).endsWith("\n"); + //hasNewLineArray[i] = text.substring(layout.getLineStart(i), layout.getLineEnd(i)).endsWith("\n"); + hasNewLineArray[i] = text.charAt(layout.getLineEnd(i) - 1) == '\n'; // if true if (hasNewLineArray[i]) { int j = i - 1; @@ -91,7 +92,7 @@ public class LineUtils { * @param layout * @return */ - public int getLineFromIndex(int index, int lineCount, Layout layout) { + public static int getLineFromIndex(int index, int lineCount, Layout layout) { int line; int currentIndex = 0; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/PageSystem.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/PageSystem.java index 22a3f32..f0f5299 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/PageSystem.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/PageSystem.java @@ -20,7 +20,11 @@ package sharedcode.turboeditor.texteditor; import android.content.Context; +import android.support.annotation.Nullable; +import org.apache.commons.io.FileUtils; + +import java.io.File; import java.util.LinkedList; import java.util.List; @@ -33,23 +37,32 @@ public class PageSystem { private int currentPage = 0; private PageSystemInterface pageSystemInterface; - public PageSystem(Context context, PageSystemInterface pageSystemInterface, String text) { + public PageSystem(Context context, PageSystemInterface pageSystemInterface, String text, @Nullable File file) { + + final int charForPage = 15000; + final int MAX_KBs_WITHOUT_PAGE_SYSTEM = 50; + this.pageSystemInterface = pageSystemInterface; pages = new LinkedList<>(); + final boolean doWithoutPageSystem; + if(file != null) + doWithoutPageSystem = FileUtils.sizeOf(file) < MAX_KBs_WITHOUT_PAGE_SYSTEM * FileUtils.ONE_KB; + else + doWithoutPageSystem = false; + int i = 0; - int charForPage = 15000; - int maxLenghtInOnePage = 30000; int to; - int indexOfReturn; - int textLenght = text.length(); + int nextIndexOfReturn; + final int textLength = text.length(); boolean pageSystemEnabled = PreferenceHelper.getSplitText(context); - if (pageSystemEnabled && textLenght > maxLenghtInOnePage) { - while (i < textLenght && pageSystemEnabled) { + + if (pageSystemEnabled && !doWithoutPageSystem) { + while (i < textLength) { to = i + charForPage; - indexOfReturn = text.indexOf("\n", to); - if (indexOfReturn > to) to = indexOfReturn; - if (to > text.length()) to = text.length(); + nextIndexOfReturn = text.indexOf("\n", to); + if (nextIndexOfReturn > to) to = nextIndexOfReturn; + //if (to > text.length()) to = text.length(); pages.add(text.substring(i, to)); i = to + 1; } diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/Patterns.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/Patterns.java index 9c2b630..59b0462 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/Patterns.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/texteditor/Patterns.java @@ -50,11 +50,12 @@ public class Patterns { ":[ \t](.+?);"); public static final Pattern NUMBERS = Pattern.compile( - "\\b(\\d*[.]?\\d+)\\b"); - public static final Pattern CSS_NUMBERS = Pattern.compile( - "/^auto$|^[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?$/ig"); + "(\\b(\\d*[.]?\\d+)\\b)"); + //public static final Pattern CSS_NUMBERS = Pattern.compile( + // "/^auto$|^[+-]?[0-9]+\\.?([0-9]+)?(px|em|ex|%|in|cm|mm|pt|pc)?$/ig"); public static final Pattern SYMBOLS = Pattern.compile( "(!|,|\\(|\\)|\\+|\\-|\\*|<|>|=|\\.|\\?|;|\\{|\\}|\\[|\\])"); + public static final Pattern NUMBERS_OR_SYMBOLS = Pattern.compile(NUMBERS.pattern()+"|"+SYMBOLS.pattern()); public static final Pattern GENERAL_KEYWORDS = Pattern.compile( "\\b(alignas|alignof|and|and_eq|asm|auto|bitand|bitorbool|break|case|catch|char|" + "char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype" @@ -78,7 +79,8 @@ public class Patterns { // Comments public static final Pattern XML_COMMENTS = Pattern.compile("(?s)"); public static final Pattern GENERAL_COMMENTS = Pattern.compile( - "/\\*(?:.|[\\n\\r])*?\\*/|//.*|#.*"); + "/\\*(?:.|[\\n\\r])*?\\*/|(? // public static final Pattern GENERAL_COMMENTS_NO_SLASH = Pattern.compile( "/\\*(?:.|[\\n\\r])*?\\*/|#.*"); public static final Pattern SQL_KEYWORDS = Pattern.compile( diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Build.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Build.java index c656ccc..5710f29 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Build.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Build.java @@ -16,6 +16,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + package sharedcode.turboeditor.util; import sharedcode.turboeditor.BuildConfig; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Device.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Device.java index ca464f6..3be1c54 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Device.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/Device.java @@ -16,6 +16,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + package sharedcode.turboeditor.util; import android.os.Build; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/MimeTypes.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/MimeTypes.java index 4b1ba61..bba14c1 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/MimeTypes.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/MimeTypes.java @@ -51,4 +51,7 @@ public class MimeTypes { public static final String[] MIME_SQL = { "sql", "mdf", "ndf", "ldf" }; + public static final String[] MIME_MARKDOWN = { + "md", "mdown", "markdown", + }; } diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ToastUtils.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ToastUtils.java index ff6a5bb..a146e01 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ToastUtils.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ToastUtils.java @@ -16,6 +16,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + package sharedcode.turboeditor.util; import android.content.Context; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ViewUtils.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ViewUtils.java index 8459586..4a69252 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ViewUtils.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/ViewUtils.java @@ -16,6 +16,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + package sharedcode.turboeditor.util; import android.graphics.Matrix; diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelper.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelper.java new file mode 100644 index 0000000..dd5e419 --- /dev/null +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelper.java @@ -0,0 +1,290 @@ +/* + * Copyright (C) 2014 Vlad Mihalachi + * + * This file is part of Turbo Editor. + * + * Turbo Editor is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Turbo Editor is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package sharedcode.turboeditor.util.systemui; + +import android.app.Activity; +import android.os.Build; +import android.os.Handler; +import android.os.Looper; +import android.view.WindowManager; + +/** + * Helper for controlling the visibility of the System UI across the various API levels. To use + * this API, instantiate an instance of this class with the required level. The level specifies the + * extent to which the System UI's visibility is changed when you call {@link #hide()} + * or {@link #toggle()}. + */ +public final class SystemUiHelper { + + /** + * In this level, the helper will toggle low profile mode. + */ + public static final int LEVEL_LOW_PROFILE = 0; + + /** + * In this level, the helper will toggle the visibility of the status bar. + * If there is a navigation bar, it will toggle low profile mode. + */ + public static final int LEVEL_HIDE_STATUS_BAR = 1; + + /** + * In this level, the helper will toggle the visibility of the navigation bar + * (if present and if possible) and status bar. In cases where the navigation + * bar is present but cannot be hidden, it will toggle low profile mode. + */ + public static final int LEVEL_LEAN_BACK = 2; + + /** + * In this level, the helper will toggle the visibility of the navigation bar + * (if present and if possible) and status bar, in an immersive mode. This means that the app + * will continue to receive all touch events. The user can reveal the system bars with an + * inward swipe along the region where the system bars normally appear. + * + *

The {@link #FLAG_IMMERSIVE_STICKY} flag can be used to control how the system bars are + * displayed. + */ + public static final int LEVEL_IMMERSIVE = 3; + + /** + * When this flag is set, the + * {@link android.view.WindowManager.LayoutParams#FLAG_LAYOUT_IN_SCREEN} + * flag will be set on older devices, making the status bar "float" on top + * of the activity layout. This is most useful when there are no controls at + * the top of the activity layout. + *

+ * This flag isn't used on newer devices because the action + * bar, the most important structural element of an Android app, should + * be visible and not obscured by the system UI. + */ + public static final int FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES = 0x1; + + /** + * Used with {@link #LEVEL_IMMERSIVE}. When this flag is set, an inward swipe in the system + * bars areas will cause the system bars to temporarily appear in a semi-transparent state, + * but no flags are cleared, and your system UI visibility change listeners are not triggered. + * The bars automatically hide again after a short delay, or if the user interacts with the + * middle of the screen. + */ + public static final int FLAG_IMMERSIVE_STICKY = 0x2; + + private static final String LOG_TAG = SystemUiHelper.class.getSimpleName(); + + private final SystemUiHelperImpl mImpl; + + private final Handler mHandler; + private final Runnable mHideRunnable; + + /** + * Construct a new SystemUiHelper. + * + * @param activity The Activity who's system UI should be changed + * @param level The level of hiding. Should be either {@link #LEVEL_LOW_PROFILE}, + * {@link #LEVEL_HIDE_STATUS_BAR}, {@link #LEVEL_LEAN_BACK} or + * {@link #LEVEL_IMMERSIVE} + * @param flags Additional options. See {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES} and + * {@link #FLAG_IMMERSIVE_STICKY} + */ + public SystemUiHelper(Activity activity, int level, int flags) { + this(activity, level, flags, null); + } + + /** + * Construct a new SystemUiHelper. + * + * @param activity The Activity who's system UI should be changed + * @param level The level of hiding. Should be either {@link #LEVEL_LOW_PROFILE}, + * {@link #LEVEL_HIDE_STATUS_BAR}, {@link #LEVEL_LEAN_BACK} or + * {@link #LEVEL_IMMERSIVE} + * @param flags Additional options. See {@link #FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES} and + * {@link #FLAG_IMMERSIVE_STICKY} + * @param listener A listener which is called when the system visibility is changed + */ + public SystemUiHelper(Activity activity, int level, int flags, + OnVisibilityChangeListener listener) { + + mHandler = new Handler(Looper.getMainLooper()); + mHideRunnable = new HideRunnable(); + + // Create impl + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { + mImpl = new SystemUiHelperImplKK(activity, level, flags, listener); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + mImpl = new SystemUiHelperImplJB(activity, level, flags, listener); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { + mImpl = new SystemUiHelperImplICS(activity, level, flags, listener); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { + mImpl = new SystemUiHelperImplHC(activity, level, flags, listener); + } else { + mImpl = new SystemUiHelperImplBase(activity, level, flags, listener); + } + } + + /** + * @return true if the system UI is currently showing. What this means depends on the mode this + * {@link android.example.android.systemuivis.SystemUiHelper} was instantiated with. + */ + public boolean isShowing() { + return mImpl.isShowing(); + } + + /** + * Show the system UI. What this means depends on the mode this {@link android.example.android.systemuivis.SystemUiHelper} was + * instantiated with. + * + *

Any currently queued delayed hide requests will be removed. + */ + public void show() { + // Ensure that any currently queued hide calls are removed + removeQueuedRunnables(); + + mImpl.show(); + } + + /** + * Hide the system UI. What this means depends on the mode this {@link android.example.android.systemuivis.SystemUiHelper} was + * instantiated with. + * + *

Any currently queued delayed hide requests will be removed. + */ + public void hide() { + // Ensure that any currently queued hide calls are removed + removeQueuedRunnables(); + + mImpl.hide(); + } + + /** + * Request that the system UI is hidden after a delay. + * + *

Any currently queued delayed hide requests will be removed. + * + * @param delayMillis The delay (in milliseconds) until the Runnable + * will be executed. + */ + public void delayHide(long delayMillis) { + // Ensure that any currently queued hide calls are removed + removeQueuedRunnables(); + + mHandler.postDelayed(mHideRunnable, delayMillis); + } + + /** + * Toggle whether the system UI is displayed. + */ + public void toggle() { + if (mImpl.isShowing()) { + mImpl.hide(); + } else { + mImpl.show(); + } + } + + private void removeQueuedRunnables() { + // Ensure that any currently queued hide calls are removed + mHandler.removeCallbacks(mHideRunnable); + } + + /** + * A callback interface used to listen for system UI visibility changes. + */ + public interface OnVisibilityChangeListener { + /** + * Called when the system UI visibility has changed. + * + * @param visible True if the system UI is visible. + */ + public void onVisibilityChange(boolean visible); + } + + static abstract class SystemUiHelperImpl { + + final Activity mActivity; + final int mLevel; + final int mFlags; + final OnVisibilityChangeListener mOnVisibilityChangeListener; + + boolean mIsShowing = true; + + SystemUiHelperImpl(Activity activity, int level, int flags, + OnVisibilityChangeListener onVisibilityChangeListener) { + mActivity = activity; + mLevel = level; + mFlags = flags; + mOnVisibilityChangeListener = onVisibilityChangeListener; + } + + abstract void show(); + abstract void hide(); + + boolean isShowing() { + return mIsShowing; + } + + void setIsShowing(boolean isShowing) { + mIsShowing = isShowing; + + if (mOnVisibilityChangeListener != null) { + mOnVisibilityChangeListener.onVisibilityChange(mIsShowing); + } + } + } + + /** + * Base implementation. Used on API level 10 and below. + */ + static class SystemUiHelperImplBase extends SystemUiHelperImpl { + + SystemUiHelperImplBase(Activity activity, int level, int flags, + OnVisibilityChangeListener onVisibilityChangeListener) { + super(activity, level, flags, onVisibilityChangeListener); + + if ((mFlags & SystemUiHelper.FLAG_LAYOUT_IN_SCREEN_OLDER_DEVICES) != 0) { + mActivity.getWindow().addFlags( + WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN + | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); + } + } + + @Override + void show() { + if (mLevel > SystemUiHelper.LEVEL_LOW_PROFILE) { + mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + setIsShowing(true); + } + } + + @Override + void hide() { + if (mLevel > SystemUiHelper.LEVEL_LOW_PROFILE) { + mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + setIsShowing(false); + } + } + } + + private class HideRunnable implements Runnable { + @Override + public void run() { + hide(); + } + } + +} diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplHC.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplHC.java new file mode 100644 index 0000000..431f6d8 --- /dev/null +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplHC.java @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2014 Vlad Mihalachi + * + * This file is part of Turbo Editor. + * + * Turbo Editor is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Turbo Editor is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package sharedcode.turboeditor.util.systemui; + +import android.app.Activity; +import android.support.v7.app.ActionBar; +import android.support.v7.app.ActionBarActivity; +import android.view.View; +import android.view.WindowManager; + +class SystemUiHelperImplHC extends SystemUiHelper.SystemUiHelperImpl + implements View.OnSystemUiVisibilityChangeListener { + + final View mDecorView; + + SystemUiHelperImplHC(Activity activity, int level, int flags, + SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) { + super(activity, level, flags, onVisibilityChangeListener); + + mDecorView = activity.getWindow().getDecorView(); + mDecorView.setOnSystemUiVisibilityChangeListener(this); + } + + + @Override + void show() { + mDecorView.setSystemUiVisibility(createShowFlags()); + } + + @Override + void hide() { + mDecorView.setSystemUiVisibility(createHideFlags()); + } + + @Override + public final void onSystemUiVisibilityChange(int visibility) { + if ((visibility & createTestFlags()) != 0) { + onSystemUiHidden(); + } else { + onSystemUiShown(); + } + } + + protected void onSystemUiShown() { + ActionBar ab = ((ActionBarActivity) mActivity).getSupportActionBar(); + if (ab != null) { + ab.show(); + } + + mActivity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + + setIsShowing(true); + } + + protected void onSystemUiHidden() { + ActionBar ab = ((ActionBarActivity) mActivity).getSupportActionBar(); + if (ab != null) { + ab.hide(); + } + + mActivity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + + setIsShowing(false); + } + + protected int createShowFlags() { + return View.STATUS_BAR_VISIBLE; + } + + protected int createHideFlags() { + return View.STATUS_BAR_HIDDEN; + } + + protected int createTestFlags() { + return View.STATUS_BAR_HIDDEN; + } + } \ No newline at end of file diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplICS.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplICS.java new file mode 100644 index 0000000..11d5829 --- /dev/null +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplICS.java @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2014 Vlad Mihalachi + * + * This file is part of Turbo Editor. + * + * Turbo Editor is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Turbo Editor is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package sharedcode.turboeditor.util.systemui; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.os.Build; +import android.view.View; + +@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) +class SystemUiHelperImplICS extends SystemUiHelperImplHC { + + SystemUiHelperImplICS(Activity activity, int level, int flags, + SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) { + super(activity, level, flags, onVisibilityChangeListener); + } + + @Override + protected int createShowFlags() { + return View.SYSTEM_UI_FLAG_VISIBLE; + } + + @Override + protected int createTestFlags() { + if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) { + // Intentionally override test flags. + return View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; + } + + return View.SYSTEM_UI_FLAG_LOW_PROFILE; + } + + @Override + protected int createHideFlags() { + int flag = View.SYSTEM_UI_FLAG_LOW_PROFILE; + + if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) { + flag |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; + } + + return flag; + } +} diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplJB.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplJB.java new file mode 100644 index 0000000..f19e7c7 --- /dev/null +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplJB.java @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2014 Vlad Mihalachi + * + * This file is part of Turbo Editor. + * + * Turbo Editor is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Turbo Editor is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package sharedcode.turboeditor.util.systemui; + +import android.annotation.TargetApi; +import android.app.ActionBar; +import android.app.Activity; +import android.os.Build; +import android.view.View; + +@TargetApi(Build.VERSION_CODES.JELLY_BEAN) +class SystemUiHelperImplJB extends SystemUiHelperImplICS { + + SystemUiHelperImplJB(Activity activity, int level, int flags, + SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) { + super(activity, level, flags, onVisibilityChangeListener); + } + + @Override + protected int createShowFlags() { + int flag = super.createShowFlags(); + + if (mLevel >= SystemUiHelper.LEVEL_HIDE_STATUS_BAR) { + flag |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; + + if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) { + flag |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; + } + } + + return flag; + } + + @Override + protected int createHideFlags() { + int flag = super.createHideFlags(); + + if (mLevel >= SystemUiHelper.LEVEL_HIDE_STATUS_BAR) { + flag |= View.SYSTEM_UI_FLAG_LAYOUT_STABLE + | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN + | View.SYSTEM_UI_FLAG_FULLSCREEN; + + if (mLevel >= SystemUiHelper.LEVEL_LEAN_BACK) { + flag |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; + } + } + + return flag; + } + + @Override + protected void onSystemUiShown() { + if (mLevel == SystemUiHelper.LEVEL_LOW_PROFILE) { + // Manually show the action bar when in low profile mode. + ActionBar ab = mActivity.getActionBar(); + if (ab != null) { + ab.show(); + } + } + + setIsShowing(false); + } + + @Override + protected void onSystemUiHidden() { + if (mLevel == SystemUiHelper.LEVEL_LOW_PROFILE) { + // Manually hide the action bar when in low profile mode. + ActionBar ab = mActivity.getActionBar(); + if (ab != null) { + ab.hide(); + } + } + + setIsShowing(true); + } +} diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplKK.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplKK.java new file mode 100644 index 0000000..988fc46 --- /dev/null +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/util/systemui/SystemUiHelperImplKK.java @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2014 Vlad Mihalachi + * + * This file is part of Turbo Editor. + * + * Turbo Editor is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Turbo Editor is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package sharedcode.turboeditor.util.systemui; + +import android.annotation.TargetApi; +import android.app.Activity; +import android.os.Build; +import android.view.View; + +@TargetApi(Build.VERSION_CODES.KITKAT) +class SystemUiHelperImplKK extends SystemUiHelperImplJB { + + SystemUiHelperImplKK(Activity activity, int level, int flags, + SystemUiHelper.OnVisibilityChangeListener onVisibilityChangeListener) { + super(activity, level, flags, onVisibilityChangeListener); + } + + @Override + protected int createHideFlags() { + int flag = super.createHideFlags(); + + if (mLevel == SystemUiHelper.LEVEL_IMMERSIVE) { + // If the client requested immersive mode, and we're on Android 4.4 + // or later, add relevant flags. Applying HIDE_NAVIGATION without + // IMMERSIVE prevents the activity from accepting all touch events, + // so we only do this on Android 4.4 and later (where IMMERSIVE is + // present). + flag |= ((mFlags & SystemUiHelper.FLAG_IMMERSIVE_STICKY) != 0) + ? View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY + : View.SYSTEM_UI_FLAG_IMMERSIVE; + } + + return flag; + } + +} diff --git a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/views/DialogHelper.java b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/views/DialogHelper.java index 5e1dac3..19e2ee0 100644 --- a/libraries/sharedCode/src/main/java/sharedcode/turboeditor/views/DialogHelper.java +++ b/libraries/sharedCode/src/main/java/sharedcode/turboeditor/views/DialogHelper.java @@ -16,11 +16,8 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package sharedcode.turboeditor.views; -/** - * Created by Artem on 28.01.14. - */ +package sharedcode.turboeditor.views; import android.app.Activity; import android.app.AlertDialog; @@ -41,7 +38,7 @@ import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import sharedcode.turboeditor.R; -import sharedcode.turboeditor.fragment.AboutDialog; +import sharedcode.turboeditor.dialogfragment.AboutDialog; import sharedcode.turboeditor.iab.DonationFragment; /** diff --git a/libraries/sharedCode/src/main/res/drawable-hdpi/ic_launcher.png b/libraries/sharedCode/src/main/res/drawable-hdpi/ic_launcher.png index 9b5ae95..12af715 100644 Binary files a/libraries/sharedCode/src/main/res/drawable-hdpi/ic_launcher.png and b/libraries/sharedCode/src/main/res/drawable-hdpi/ic_launcher.png differ diff --git a/libraries/sharedCode/src/main/res/drawable-mdpi/ic_launcher.png b/libraries/sharedCode/src/main/res/drawable-mdpi/ic_launcher.png index c4fb8fc..79f74cf 100644 Binary files a/libraries/sharedCode/src/main/res/drawable-mdpi/ic_launcher.png and b/libraries/sharedCode/src/main/res/drawable-mdpi/ic_launcher.png differ diff --git a/libraries/sharedCode/src/main/res/drawable-xhdpi/ic_launcher.png b/libraries/sharedCode/src/main/res/drawable-xhdpi/ic_launcher.png index 52566d0..2734ed8 100644 Binary files a/libraries/sharedCode/src/main/res/drawable-xhdpi/ic_launcher.png and b/libraries/sharedCode/src/main/res/drawable-xhdpi/ic_launcher.png differ diff --git a/libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_launcher.png b/libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_launcher.png index c109e8a..b2b9a1e 100644 Binary files a/libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_launcher.png and b/libraries/sharedCode/src/main/res/drawable-xxhdpi/ic_launcher.png differ diff --git a/libraries/sharedCode/src/main/res/drawable-xxxhdpi/ic_launcher.png b/libraries/sharedCode/src/main/res/drawable-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..459fc39 Binary files /dev/null and b/libraries/sharedCode/src/main/res/drawable-xxxhdpi/ic_launcher.png differ diff --git a/libraries/sharedCode/src/main/res/layout/activity_home.xml b/libraries/sharedCode/src/main/res/layout/activity_home.xml index 6e9211c..c18266f 100644 --- a/libraries/sharedCode/src/main/res/layout/activity_home.xml +++ b/libraries/sharedCode/src/main/res/layout/activity_home.xml @@ -1,4 +1,5 @@ + + android:textSize="12sp" + android:inputType="textNoSuggestions|textFilter|textVisiblePassword"/> + android:textSize="12sp" + android:inputType="textNoSuggestions|textFilter"/> diff --git a/libraries/sharedCode/src/main/res/layout/dialog_skeleton.xml b/libraries/sharedCode/src/main/res/layout/dialog_skeleton.xml index da926c7..8d8d130 100644 --- a/libraries/sharedCode/src/main/res/layout/dialog_skeleton.xml +++ b/libraries/sharedCode/src/main/res/layout/dialog_skeleton.xml @@ -1,20 +1,20 @@ + - + android:title="@string/donation_action" + /> diff --git a/libraries/sharedCode/src/main/res/raw/changelog.xml b/libraries/sharedCode/src/main/res/raw/changelog.xml index acfef20..158acb8 100644 --- a/libraries/sharedCode/src/main/res/raw/changelog.xml +++ b/libraries/sharedCode/src/main/res/raw/changelog.xml @@ -20,6 +20,11 @@ + + Happy Halloween! + Manly bug fixes + + Turbo Editor is a free and open source app. Now you can show your appreciation and support development by donating :) New visual changes to make the app more "Material" diff --git a/libraries/sharedCode/src/main/res/values-af-rZA/strings.xml b/libraries/sharedCode/src/main/res/values-af-rZA/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-af-rZA/strings.xml +++ b/libraries/sharedCode/src/main/res/values-af-rZA/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-af-rZA/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-af-rZA/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-af-rZA/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-af-rZA/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-af-rZA/strings_donation.xml b/libraries/sharedCode/src/main/res/values-af-rZA/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-af-rZA/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-af-rZA/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-ar-rSA/strings.xml b/libraries/sharedCode/src/main/res/values-ar-rSA/strings.xml index 99f2529..1b4f268 100644 --- a/libraries/sharedCode/src/main/res/values-ar-rSA/strings.xml +++ b/libraries/sharedCode/src/main/res/values-ar-rSA/strings.xml @@ -1,5 +1,4 @@ - + + استخدم مسافة موحدة diff --git a/libraries/sharedCode/src/main/res/values-ar-rSA/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-ar-rSA/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-ar-rSA/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-ar-rSA/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-ar-rSA/strings_donation.xml b/libraries/sharedCode/src/main/res/values-ar-rSA/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-ar-rSA/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-ar-rSA/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-az-rAZ/strings.xml b/libraries/sharedCode/src/main/res/values-az-rAZ/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-az-rAZ/strings.xml +++ b/libraries/sharedCode/src/main/res/values-az-rAZ/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-az-rAZ/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-az-rAZ/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-az-rAZ/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-az-rAZ/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-az-rAZ/strings_donation.xml b/libraries/sharedCode/src/main/res/values-az-rAZ/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-az-rAZ/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-az-rAZ/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-be-rBY/strings.xml b/libraries/sharedCode/src/main/res/values-be-rBY/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-be-rBY/strings.xml +++ b/libraries/sharedCode/src/main/res/values-be-rBY/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-be-rBY/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-be-rBY/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-be-rBY/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-be-rBY/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-be-rBY/strings_donation.xml b/libraries/sharedCode/src/main/res/values-be-rBY/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-be-rBY/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-be-rBY/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-bg-rBG/strings.xml b/libraries/sharedCode/src/main/res/values-bg-rBG/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-bg-rBG/strings.xml +++ b/libraries/sharedCode/src/main/res/values-bg-rBG/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-bg-rBG/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-bg-rBG/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-bg-rBG/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-bg-rBG/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-bg-rBG/strings_donation.xml b/libraries/sharedCode/src/main/res/values-bg-rBG/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-bg-rBG/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-bg-rBG/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-ca-rES/strings.xml b/libraries/sharedCode/src/main/res/values-ca-rES/strings.xml index 63bd647..d400f21 100644 --- a/libraries/sharedCode/src/main/res/values-ca-rES/strings.xml +++ b/libraries/sharedCode/src/main/res/values-ca-rES/strings.xml @@ -1,5 +1,4 @@ - + + Usar monospace diff --git a/libraries/sharedCode/src/main/res/values-ca-rES/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-ca-rES/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-ca-rES/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-ca-rES/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-ca-rES/strings_donation.xml b/libraries/sharedCode/src/main/res/values-ca-rES/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-ca-rES/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-ca-rES/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-cs-rCZ/strings.xml b/libraries/sharedCode/src/main/res/values-cs-rCZ/strings.xml index 75dc356..fef8d8c 100644 --- a/libraries/sharedCode/src/main/res/values-cs-rCZ/strings.xml +++ b/libraries/sharedCode/src/main/res/values-cs-rCZ/strings.xml @@ -1,5 +1,4 @@ - + + Použít neproporcionální diff --git a/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_donation.xml b/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_donation.xml index 4baefaf..bfe1f76 100644 --- a/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-cs-rCZ/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Podpořit Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-da-rDK/strings.xml b/libraries/sharedCode/src/main/res/values-da-rDK/strings.xml index a321c57..d5369e9 100644 --- a/libraries/sharedCode/src/main/res/values-da-rDK/strings.xml +++ b/libraries/sharedCode/src/main/res/values-da-rDK/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-da-rDK/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-da-rDK/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-da-rDK/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-da-rDK/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-da-rDK/strings_donation.xml b/libraries/sharedCode/src/main/res/values-da-rDK/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-da-rDK/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-da-rDK/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-de-rDE/strings.xml b/libraries/sharedCode/src/main/res/values-de-rDE/strings.xml index 5e325f7..d828496 100644 --- a/libraries/sharedCode/src/main/res/values-de-rDE/strings.xml +++ b/libraries/sharedCode/src/main/res/values-de-rDE/strings.xml @@ -1,5 +1,4 @@ - + + Verwenden Sie Monospace diff --git a/libraries/sharedCode/src/main/res/values-de-rDE/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-de-rDE/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-de-rDE/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-de-rDE/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-de-rDE/strings_donation.xml b/libraries/sharedCode/src/main/res/values-de-rDE/strings_donation.xml index f5bd552..16ae564 100644 --- a/libraries/sharedCode/src/main/res/values-de-rDE/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-de-rDE/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Spenden Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-el-rGR/strings.xml b/libraries/sharedCode/src/main/res/values-el-rGR/strings.xml index eb5e330..1fbf7c8 100644 --- a/libraries/sharedCode/src/main/res/values-el-rGR/strings.xml +++ b/libraries/sharedCode/src/main/res/values-el-rGR/strings.xml @@ -1,5 +1,4 @@ - + + Χρήση monospace γραμματοσειράς diff --git a/libraries/sharedCode/src/main/res/values-el-rGR/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-el-rGR/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-el-rGR/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-el-rGR/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-el-rGR/strings_donation.xml b/libraries/sharedCode/src/main/res/values-el-rGR/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-el-rGR/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-el-rGR/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-es-rES/strings.xml b/libraries/sharedCode/src/main/res/values-es-rES/strings.xml index 643c0bb..46d0014 100644 --- a/libraries/sharedCode/src/main/res/values-es-rES/strings.xml +++ b/libraries/sharedCode/src/main/res/values-es-rES/strings.xml @@ -1,5 +1,4 @@ - + + Usar monoespacio diff --git a/libraries/sharedCode/src/main/res/values-es-rES/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-es-rES/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-es-rES/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-es-rES/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-es-rES/strings_donation.xml b/libraries/sharedCode/src/main/res/values-es-rES/strings_donation.xml index 17ef599..84343fe 100644 --- a/libraries/sharedCode/src/main/res/values-es-rES/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-es-rES/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donar Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-fi-rFI/strings.xml b/libraries/sharedCode/src/main/res/values-fi-rFI/strings.xml index fbb5d27..1e0b26c 100644 --- a/libraries/sharedCode/src/main/res/values-fi-rFI/strings.xml +++ b/libraries/sharedCode/src/main/res/values-fi-rFI/strings.xml @@ -1,5 +1,4 @@ - + + Käytä tasalevyistä fonttia diff --git a/libraries/sharedCode/src/main/res/values-fi-rFI/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-fi-rFI/strings_dialogs.xml index e8ce99d..1bb4a28 100644 --- a/libraries/sharedCode/src/main/res/values-fi-rFI/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-fi-rFI/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Sulje Tietoja diff --git a/libraries/sharedCode/src/main/res/values-fi-rFI/strings_donation.xml b/libraries/sharedCode/src/main/res/values-fi-rFI/strings_donation.xml index ea9cee6..d488e4d 100644 --- a/libraries/sharedCode/src/main/res/values-fi-rFI/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-fi-rFI/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Lahjoita Lahjoita kehittäjälle diff --git a/libraries/sharedCode/src/main/res/values-fil-rPH/strings.xml b/libraries/sharedCode/src/main/res/values-fil-rPH/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-fil-rPH/strings.xml +++ b/libraries/sharedCode/src/main/res/values-fil-rPH/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-fil-rPH/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-fil-rPH/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-fil-rPH/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-fil-rPH/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-fil-rPH/strings_donation.xml b/libraries/sharedCode/src/main/res/values-fil-rPH/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-fil-rPH/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-fil-rPH/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-fr-rFR/strings.xml b/libraries/sharedCode/src/main/res/values-fr-rFR/strings.xml index 50cf2d7..7d564a6 100644 --- a/libraries/sharedCode/src/main/res/values-fr-rFR/strings.xml +++ b/libraries/sharedCode/src/main/res/values-fr-rFR/strings.xml @@ -1,5 +1,4 @@ - + + Utiliser une police de largeur fixe diff --git a/libraries/sharedCode/src/main/res/values-fr-rFR/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-fr-rFR/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-fr-rFR/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-fr-rFR/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-fr-rFR/strings_donation.xml b/libraries/sharedCode/src/main/res/values-fr-rFR/strings_donation.xml index a078209..b0da9f5 100644 --- a/libraries/sharedCode/src/main/res/values-fr-rFR/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-fr-rFR/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Faire un don Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-gl-rES/strings.xml b/libraries/sharedCode/src/main/res/values-gl-rES/strings.xml index c4512fb..9673923 100644 --- a/libraries/sharedCode/src/main/res/values-gl-rES/strings.xml +++ b/libraries/sharedCode/src/main/res/values-gl-rES/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-gl-rES/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-gl-rES/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-gl-rES/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-gl-rES/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-gl-rES/strings_donation.xml b/libraries/sharedCode/src/main/res/values-gl-rES/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-gl-rES/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-gl-rES/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-hi-rIN/strings.xml b/libraries/sharedCode/src/main/res/values-hi-rIN/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-hi-rIN/strings.xml +++ b/libraries/sharedCode/src/main/res/values-hi-rIN/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-hi-rIN/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-hi-rIN/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-hi-rIN/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-hi-rIN/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-hi-rIN/strings_donation.xml b/libraries/sharedCode/src/main/res/values-hi-rIN/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-hi-rIN/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-hi-rIN/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-hr-rHR/strings.xml b/libraries/sharedCode/src/main/res/values-hr-rHR/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-hr-rHR/strings.xml +++ b/libraries/sharedCode/src/main/res/values-hr-rHR/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-hr-rHR/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-hr-rHR/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-hr-rHR/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-hr-rHR/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-hr-rHR/strings_donation.xml b/libraries/sharedCode/src/main/res/values-hr-rHR/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-hr-rHR/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-hr-rHR/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-hu-rHU/strings.xml b/libraries/sharedCode/src/main/res/values-hu-rHU/strings.xml index 1d5ce96..04be3a4 100644 --- a/libraries/sharedCode/src/main/res/values-hu-rHU/strings.xml +++ b/libraries/sharedCode/src/main/res/values-hu-rHU/strings.xml @@ -1,5 +1,4 @@ - + + Fix szélességű betűk használata diff --git a/libraries/sharedCode/src/main/res/values-hu-rHU/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-hu-rHU/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-hu-rHU/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-hu-rHU/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-hu-rHU/strings_donation.xml b/libraries/sharedCode/src/main/res/values-hu-rHU/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-hu-rHU/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-hu-rHU/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-hy-rAM/strings.xml b/libraries/sharedCode/src/main/res/values-hy-rAM/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-hy-rAM/strings.xml +++ b/libraries/sharedCode/src/main/res/values-hy-rAM/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-hy-rAM/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-hy-rAM/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-hy-rAM/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-hy-rAM/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-hy-rAM/strings_donation.xml b/libraries/sharedCode/src/main/res/values-hy-rAM/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-hy-rAM/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-hy-rAM/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-in-rID/strings.xml b/libraries/sharedCode/src/main/res/values-in-rID/strings.xml index d4f7cbb..c68fe5a 100644 --- a/libraries/sharedCode/src/main/res/values-in-rID/strings.xml +++ b/libraries/sharedCode/src/main/res/values-in-rID/strings.xml @@ -1,5 +1,4 @@ - + + Gunakan monospace diff --git a/libraries/sharedCode/src/main/res/values-in-rID/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-in-rID/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-in-rID/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-in-rID/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-in-rID/strings_donation.xml b/libraries/sharedCode/src/main/res/values-in-rID/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-in-rID/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-in-rID/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-it-rIT/strings.xml b/libraries/sharedCode/src/main/res/values-it-rIT/strings.xml index 6cfda83..9859ab7 100644 --- a/libraries/sharedCode/src/main/res/values-it-rIT/strings.xml +++ b/libraries/sharedCode/src/main/res/values-it-rIT/strings.xml @@ -1,5 +1,4 @@ - + + Monospace diff --git a/libraries/sharedCode/src/main/res/values-it-rIT/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-it-rIT/strings_dialogs.xml index 7ab3748..4e245cf 100644 --- a/libraries/sharedCode/src/main/res/values-it-rIT/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-it-rIT/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Chiudi Informazioni diff --git a/libraries/sharedCode/src/main/res/values-it-rIT/strings_donation.xml b/libraries/sharedCode/src/main/res/values-it-rIT/strings_donation.xml index 9ed36e1..2715cd7 100644 --- a/libraries/sharedCode/src/main/res/values-it-rIT/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-it-rIT/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Dona Fai una donazione allo sviluppatore diff --git a/libraries/sharedCode/src/main/res/values-iw-rIL/strings.xml b/libraries/sharedCode/src/main/res/values-iw-rIL/strings.xml index 88be70b..fadb371 100644 --- a/libraries/sharedCode/src/main/res/values-iw-rIL/strings.xml +++ b/libraries/sharedCode/src/main/res/values-iw-rIL/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-iw-rIL/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-iw-rIL/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-iw-rIL/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-iw-rIL/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-iw-rIL/strings_donation.xml b/libraries/sharedCode/src/main/res/values-iw-rIL/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-iw-rIL/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-iw-rIL/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-ja-rJP/strings.xml b/libraries/sharedCode/src/main/res/values-ja-rJP/strings.xml index aca60de..ed72f6d 100644 --- a/libraries/sharedCode/src/main/res/values-ja-rJP/strings.xml +++ b/libraries/sharedCode/src/main/res/values-ja-rJP/strings.xml @@ -1,5 +1,4 @@ - + + モノスペースを使用 diff --git a/libraries/sharedCode/src/main/res/values-ja-rJP/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-ja-rJP/strings_dialogs.xml index 8a5366f..f8866ff 100644 --- a/libraries/sharedCode/src/main/res/values-ja-rJP/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-ja-rJP/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + 閉じる アプリについて diff --git a/libraries/sharedCode/src/main/res/values-ja-rJP/strings_donation.xml b/libraries/sharedCode/src/main/res/values-ja-rJP/strings_donation.xml index ef59c68..5171330 100644 --- a/libraries/sharedCode/src/main/res/values-ja-rJP/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-ja-rJP/strings_donation.xml @@ -1,5 +1,4 @@ - + + + 寄付 開発者に寄付 diff --git a/libraries/sharedCode/src/main/res/values-ko-rKR/strings.xml b/libraries/sharedCode/src/main/res/values-ko-rKR/strings.xml index 76c7f13..2376bbd 100644 --- a/libraries/sharedCode/src/main/res/values-ko-rKR/strings.xml +++ b/libraries/sharedCode/src/main/res/values-ko-rKR/strings.xml @@ -1,5 +1,4 @@ - + + 고정 폭 사용 diff --git a/libraries/sharedCode/src/main/res/values-ko-rKR/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-ko-rKR/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-ko-rKR/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-ko-rKR/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-ko-rKR/strings_donation.xml b/libraries/sharedCode/src/main/res/values-ko-rKR/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-ko-rKR/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-ko-rKR/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-lb-rLU/strings.xml b/libraries/sharedCode/src/main/res/values-lb-rLU/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-lb-rLU/strings.xml +++ b/libraries/sharedCode/src/main/res/values-lb-rLU/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-lb-rLU/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-lb-rLU/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-lb-rLU/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-lb-rLU/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-lb-rLU/strings_donation.xml b/libraries/sharedCode/src/main/res/values-lb-rLU/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-lb-rLU/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-lb-rLU/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-mk-rMK/strings.xml b/libraries/sharedCode/src/main/res/values-mk-rMK/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-mk-rMK/strings.xml +++ b/libraries/sharedCode/src/main/res/values-mk-rMK/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-mk-rMK/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-mk-rMK/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-mk-rMK/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-mk-rMK/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-mk-rMK/strings_donation.xml b/libraries/sharedCode/src/main/res/values-mk-rMK/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-mk-rMK/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-mk-rMK/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-mn-rMN/strings.xml b/libraries/sharedCode/src/main/res/values-mn-rMN/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-mn-rMN/strings.xml +++ b/libraries/sharedCode/src/main/res/values-mn-rMN/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-mn-rMN/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-mn-rMN/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-mn-rMN/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-mn-rMN/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-mn-rMN/strings_donation.xml b/libraries/sharedCode/src/main/res/values-mn-rMN/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-mn-rMN/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-mn-rMN/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-mt-rMT/strings.xml b/libraries/sharedCode/src/main/res/values-mt-rMT/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-mt-rMT/strings.xml +++ b/libraries/sharedCode/src/main/res/values-mt-rMT/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-mt-rMT/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-mt-rMT/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-mt-rMT/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-mt-rMT/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-mt-rMT/strings_donation.xml b/libraries/sharedCode/src/main/res/values-mt-rMT/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-mt-rMT/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-mt-rMT/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-nl-rNL/strings.xml b/libraries/sharedCode/src/main/res/values-nl-rNL/strings.xml index 096cc3e..41ad902 100644 --- a/libraries/sharedCode/src/main/res/values-nl-rNL/strings.xml +++ b/libraries/sharedCode/src/main/res/values-nl-rNL/strings.xml @@ -1,5 +1,4 @@ - + + Gebruik monospace diff --git a/libraries/sharedCode/src/main/res/values-nl-rNL/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-nl-rNL/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-nl-rNL/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-nl-rNL/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-nl-rNL/strings_donation.xml b/libraries/sharedCode/src/main/res/values-nl-rNL/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-nl-rNL/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-nl-rNL/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-no-rNO/strings.xml b/libraries/sharedCode/src/main/res/values-no-rNO/strings.xml index 1cc84ac..c95ee5e 100644 --- a/libraries/sharedCode/src/main/res/values-no-rNO/strings.xml +++ b/libraries/sharedCode/src/main/res/values-no-rNO/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-no-rNO/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-no-rNO/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-no-rNO/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-no-rNO/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-no-rNO/strings_donation.xml b/libraries/sharedCode/src/main/res/values-no-rNO/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-no-rNO/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-no-rNO/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-pl-rPL/strings.xml b/libraries/sharedCode/src/main/res/values-pl-rPL/strings.xml index f9be2d0..eda2f07 100644 --- a/libraries/sharedCode/src/main/res/values-pl-rPL/strings.xml +++ b/libraries/sharedCode/src/main/res/values-pl-rPL/strings.xml @@ -1,5 +1,4 @@ - + + Użyj stałej szerokości diff --git a/libraries/sharedCode/src/main/res/values-pl-rPL/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-pl-rPL/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-pl-rPL/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-pl-rPL/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-pl-rPL/strings_donation.xml b/libraries/sharedCode/src/main/res/values-pl-rPL/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-pl-rPL/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-pl-rPL/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-pt-rBR/strings.xml b/libraries/sharedCode/src/main/res/values-pt-rBR/strings.xml index 0e19838..d35fb7a 100644 --- a/libraries/sharedCode/src/main/res/values-pt-rBR/strings.xml +++ b/libraries/sharedCode/src/main/res/values-pt-rBR/strings.xml @@ -1,5 +1,4 @@ - + + Usar mono-espaço diff --git a/libraries/sharedCode/src/main/res/values-pt-rBR/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-pt-rBR/strings_dialogs.xml index 288ca15..7ab680a 100644 --- a/libraries/sharedCode/src/main/res/values-pt-rBR/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-pt-rBR/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Fechar Sobre diff --git a/libraries/sharedCode/src/main/res/values-pt-rBR/strings_donation.xml b/libraries/sharedCode/src/main/res/values-pt-rBR/strings_donation.xml index 12edaf2..a10dca7 100644 --- a/libraries/sharedCode/src/main/res/values-pt-rBR/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-pt-rBR/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Faça uma doação Doar para o desenvolvedor diff --git a/libraries/sharedCode/src/main/res/values-pt-rPT/strings.xml b/libraries/sharedCode/src/main/res/values-pt-rPT/strings.xml index c9303ab..188338b 100644 --- a/libraries/sharedCode/src/main/res/values-pt-rPT/strings.xml +++ b/libraries/sharedCode/src/main/res/values-pt-rPT/strings.xml @@ -1,5 +1,4 @@ - + + Usar mono-espaço diff --git a/libraries/sharedCode/src/main/res/values-pt-rPT/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-pt-rPT/strings_dialogs.xml index c1df8e5..ec32847 100644 --- a/libraries/sharedCode/src/main/res/values-pt-rPT/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-pt-rPT/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Fechar Sobre diff --git a/libraries/sharedCode/src/main/res/values-pt-rPT/strings_donation.xml b/libraries/sharedCode/src/main/res/values-pt-rPT/strings_donation.xml index 225a648..71f84d4 100644 --- a/libraries/sharedCode/src/main/res/values-pt-rPT/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-pt-rPT/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donativos Efetuar donativo diff --git a/libraries/sharedCode/src/main/res/values-ro-rRO/strings.xml b/libraries/sharedCode/src/main/res/values-ro-rRO/strings.xml index 18bb8ac..8a493c8 100644 --- a/libraries/sharedCode/src/main/res/values-ro-rRO/strings.xml +++ b/libraries/sharedCode/src/main/res/values-ro-rRO/strings.xml @@ -1,5 +1,4 @@ - + + Utilizează monospaţiu diff --git a/libraries/sharedCode/src/main/res/values-ro-rRO/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-ro-rRO/strings_dialogs.xml index 487b796..f396291 100644 --- a/libraries/sharedCode/src/main/res/values-ro-rRO/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-ro-rRO/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Închide Despre diff --git a/libraries/sharedCode/src/main/res/values-ro-rRO/strings_donation.xml b/libraries/sharedCode/src/main/res/values-ro-rRO/strings_donation.xml index ba3c96e..6fe2f15 100644 --- a/libraries/sharedCode/src/main/res/values-ro-rRO/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-ro-rRO/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donează Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-ru-rRU/strings.xml b/libraries/sharedCode/src/main/res/values-ru-rRU/strings.xml index a37465b..49466e8 100644 --- a/libraries/sharedCode/src/main/res/values-ru-rRU/strings.xml +++ b/libraries/sharedCode/src/main/res/values-ru-rRU/strings.xml @@ -1,5 +1,4 @@ - + + Моноширинный шрифт diff --git a/libraries/sharedCode/src/main/res/values-ru-rRU/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-ru-rRU/strings_dialogs.xml index 751f735..83c40d5 100644 --- a/libraries/sharedCode/src/main/res/values-ru-rRU/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-ru-rRU/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Закрыть О программе diff --git a/libraries/sharedCode/src/main/res/values-ru-rRU/strings_donation.xml b/libraries/sharedCode/src/main/res/values-ru-rRU/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-ru-rRU/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-ru-rRU/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-sl-rSI/strings.xml b/libraries/sharedCode/src/main/res/values-sl-rSI/strings.xml index 26da45c..bbb660a 100644 --- a/libraries/sharedCode/src/main/res/values-sl-rSI/strings.xml +++ b/libraries/sharedCode/src/main/res/values-sl-rSI/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-sl-rSI/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-sl-rSI/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-sl-rSI/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-sl-rSI/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-sl-rSI/strings_donation.xml b/libraries/sharedCode/src/main/res/values-sl-rSI/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-sl-rSI/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-sl-rSI/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-sq-rAL/strings.xml b/libraries/sharedCode/src/main/res/values-sq-rAL/strings.xml index ed26d53..5d52fd2 100644 --- a/libraries/sharedCode/src/main/res/values-sq-rAL/strings.xml +++ b/libraries/sharedCode/src/main/res/values-sq-rAL/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-sq-rAL/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-sq-rAL/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-sq-rAL/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-sq-rAL/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-sq-rAL/strings_donation.xml b/libraries/sharedCode/src/main/res/values-sq-rAL/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-sq-rAL/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-sq-rAL/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-sr-rSP/strings.xml b/libraries/sharedCode/src/main/res/values-sr-rSP/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-sr-rSP/strings.xml +++ b/libraries/sharedCode/src/main/res/values-sr-rSP/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-sr-rSP/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-sr-rSP/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-sr-rSP/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-sr-rSP/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-sr-rSP/strings_donation.xml b/libraries/sharedCode/src/main/res/values-sr-rSP/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-sr-rSP/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-sr-rSP/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-sv-rSE/strings.xml b/libraries/sharedCode/src/main/res/values-sv-rSE/strings.xml index bfcb5d9..bc3caba 100644 --- a/libraries/sharedCode/src/main/res/values-sv-rSE/strings.xml +++ b/libraries/sharedCode/src/main/res/values-sv-rSE/strings.xml @@ -1,5 +1,4 @@ - + + Använd monospace diff --git a/libraries/sharedCode/src/main/res/values-sv-rSE/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-sv-rSE/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-sv-rSE/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-sv-rSE/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-sv-rSE/strings_donation.xml b/libraries/sharedCode/src/main/res/values-sv-rSE/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-sv-rSE/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-sv-rSE/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-tr-rTR/strings.xml b/libraries/sharedCode/src/main/res/values-tr-rTR/strings.xml index 6d32407..b50c397 100644 --- a/libraries/sharedCode/src/main/res/values-tr-rTR/strings.xml +++ b/libraries/sharedCode/src/main/res/values-tr-rTR/strings.xml @@ -1,5 +1,4 @@ - + + Sabit genişlikli yazı tipi kullan diff --git a/libraries/sharedCode/src/main/res/values-tr-rTR/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-tr-rTR/strings_dialogs.xml index a90ae36..b4ecd0c 100644 --- a/libraries/sharedCode/src/main/res/values-tr-rTR/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-tr-rTR/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Kapat Hakkında diff --git a/libraries/sharedCode/src/main/res/values-tr-rTR/strings_donation.xml b/libraries/sharedCode/src/main/res/values-tr-rTR/strings_donation.xml index d6e4c1f..f719c74 100644 --- a/libraries/sharedCode/src/main/res/values-tr-rTR/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-tr-rTR/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Bağış yap Geliştiriciye bağış yap diff --git a/libraries/sharedCode/src/main/res/values-uk-rUA/strings.xml b/libraries/sharedCode/src/main/res/values-uk-rUA/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-uk-rUA/strings.xml +++ b/libraries/sharedCode/src/main/res/values-uk-rUA/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-uk-rUA/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-uk-rUA/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-uk-rUA/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-uk-rUA/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-uk-rUA/strings_donation.xml b/libraries/sharedCode/src/main/res/values-uk-rUA/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-uk-rUA/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-uk-rUA/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-vi-rVN/strings.xml b/libraries/sharedCode/src/main/res/values-vi-rVN/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-vi-rVN/strings.xml +++ b/libraries/sharedCode/src/main/res/values-vi-rVN/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-vi-rVN/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-vi-rVN/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-vi-rVN/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-vi-rVN/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-vi-rVN/strings_donation.xml b/libraries/sharedCode/src/main/res/values-vi-rVN/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-vi-rVN/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-vi-rVN/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-vls-rBE/strings.xml b/libraries/sharedCode/src/main/res/values-vls-rBE/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-vls-rBE/strings.xml +++ b/libraries/sharedCode/src/main/res/values-vls-rBE/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-vls-rBE/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-vls-rBE/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-vls-rBE/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-vls-rBE/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-vls-rBE/strings_donation.xml b/libraries/sharedCode/src/main/res/values-vls-rBE/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-vls-rBE/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-vls-rBE/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-zh-rCN/strings.xml b/libraries/sharedCode/src/main/res/values-zh-rCN/strings.xml index 4afee70..c9452c4 100644 --- a/libraries/sharedCode/src/main/res/values-zh-rCN/strings.xml +++ b/libraries/sharedCode/src/main/res/values-zh-rCN/strings.xml @@ -1,5 +1,4 @@ - + + 使用等宽字体 diff --git a/libraries/sharedCode/src/main/res/values-zh-rCN/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-zh-rCN/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-zh-rCN/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-zh-rCN/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-zh-rCN/strings_donation.xml b/libraries/sharedCode/src/main/res/values-zh-rCN/strings_donation.xml index 16cbc5e..4316e9b 100644 --- a/libraries/sharedCode/src/main/res/values-zh-rCN/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-zh-rCN/strings_donation.xml @@ -1,5 +1,4 @@ - + + + 捐赠 Donate to developer diff --git a/libraries/sharedCode/src/main/res/values-zh-rTW/strings.xml b/libraries/sharedCode/src/main/res/values-zh-rTW/strings.xml index ba3c203..3cb52a0 100644 --- a/libraries/sharedCode/src/main/res/values-zh-rTW/strings.xml +++ b/libraries/sharedCode/src/main/res/values-zh-rTW/strings.xml @@ -1,5 +1,4 @@ - + + Use monospace diff --git a/libraries/sharedCode/src/main/res/values-zh-rTW/strings_dialogs.xml b/libraries/sharedCode/src/main/res/values-zh-rTW/strings_dialogs.xml index af29a59..09836d2 100644 --- a/libraries/sharedCode/src/main/res/values-zh-rTW/strings_dialogs.xml +++ b/libraries/sharedCode/src/main/res/values-zh-rTW/strings_dialogs.xml @@ -1,5 +1,4 @@ - + + + Close About diff --git a/libraries/sharedCode/src/main/res/values-zh-rTW/strings_donation.xml b/libraries/sharedCode/src/main/res/values-zh-rTW/strings_donation.xml index 9b2bcc8..2913ac3 100644 --- a/libraries/sharedCode/src/main/res/values-zh-rTW/strings_donation.xml +++ b/libraries/sharedCode/src/main/res/values-zh-rTW/strings_donation.xml @@ -1,5 +1,4 @@ - + + + Donate Donate to developer diff --git a/libraries/sharedCode/src/main/res/values/ids.xml b/libraries/sharedCode/src/main/res/values/ids.xml index ad55774..8f0858f 100644 --- a/libraries/sharedCode/src/main/res/values/ids.xml +++ b/libraries/sharedCode/src/main/res/values/ids.xml @@ -1,4 +1,5 @@ + diff --git a/libraries/sharedCode/src/main/res/values/integers.xml b/libraries/sharedCode/src/main/res/values/integers.xml index 2ae83d1..2789c9a 100644 --- a/libraries/sharedCode/src/main/res/values/integers.xml +++ b/libraries/sharedCode/src/main/res/values/integers.xml @@ -1,4 +1,5 @@ +