diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1b9bb30a..5c716a99 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,8 +21,8 @@ + android:versionCode="55880" + android:versionName="55880-elys"> @@ -509,20 +509,6 @@ android:resource="@xml/filepaths" /> - - - - - - - = 33) { - return true - } - return if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { - true - } else { - ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1) - false - } + return true } +// private val isStoragePermissionGranted: Boolean +// get() { +// if (Build.VERSION.SDK_INT >= 33) { +// return true +// } +// return if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { +// true +// } else { +// ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), 1) +// false +// } +// } + override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { when (requestCode) { 1 -> { diff --git a/app/src/main/java/joshuatee/wx/audio/UtilityTTS.kt b/app/src/main/java/joshuatee/wx/audio/UtilityTTS.kt index f92c994f..f4632209 100644 --- a/app/src/main/java/joshuatee/wx/audio/UtilityTTS.kt +++ b/app/src/main/java/joshuatee/wx/audio/UtilityTTS.kt @@ -21,23 +21,23 @@ package joshuatee.wx.audio -import java.io.File -import java.util.HashMap -import java.util.Locale import android.content.Context import android.media.MediaPlayer import android.net.Uri -import android.os.Environment +import android.os.Bundle import android.speech.tts.TextToSpeech import android.speech.tts.UtteranceProgressListener -import joshuatee.wx.settings.UIPreferences import joshuatee.wx.common.GlobalVariables import joshuatee.wx.settings.NotificationPreferences +import joshuatee.wx.settings.UIPreferences import joshuatee.wx.util.Utility import joshuatee.wx.util.UtilityLog +import java.io.File import java.io.IOException +import java.util.Locale import kotlin.math.min + object UtilityTts { private var ttsInit = false @@ -131,7 +131,13 @@ object UtilityTts { } } - override fun onError(utteranceId: String) {} + @Deprecated( + message = "This method was deprecated in API level 21.", + replaceWith = ReplaceWith("nothing"), + level = DeprecationLevel.WARNING + ) + override fun onError(utteranceId: String) { + } override fun onStart(utteranceId: String) {} }) @@ -158,7 +164,13 @@ object UtilityTts { } } - override fun onError(utteranceId: String) {} + @Deprecated( + message = "This method was deprecated in API level 21.", + replaceWith = ReplaceWith("nothing"), + level = DeprecationLevel.WARNING + ) + override fun onError(utteranceId: String) { + } override fun onStart(utteranceId: String) {} }) @@ -169,19 +181,25 @@ object UtilityTts { mediaPlayer!!.stop() } val txt = UtilityTtsTranslations.translateAbbreviation(txtF) - val myHashRender = HashMap() - val musicDir = context.getExternalFilesDir(Environment.DIRECTORY_MUSIC) - val wxDir = File(musicDir, GlobalVariables.PACKAGE_NAME) - if (!wxDir.exists() && !wxDir.mkdirs()) { - return - } +// val myHashRender = HashMap() +// val musicDir = context.getExternalFilesDir(Environment.DIRECTORY_MUSIC) +// val wxDir = File(musicDir, GlobalVariables.PACKAGE_NAME) +// if (!wxDir.exists() && !wxDir.mkdirs()) { +// return +// } val chunks = splitInChunks(Utility.fromHtml(txt)) fileCount = chunks.size (0 until fileCount).forEach { - myHashRender.clear() - myHashRender[TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID] = it.toString() + prod - val fileName = File(wxDir, FILENAME + it.toString()).absolutePath - ttobjGlobal!!.synthesizeToFile(chunks[it], myHashRender, fileName) +// myHashRender.clear() +// myHashRender[TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID] = it.toString() + prod +// val fileName = File(wxDir, FILENAME + it.toString()).absolutePath +// val fileName = File(context.filesDir, FILENAME + it.toString()).absolutePath + val fileName = File(context.filesDir, FILENAME + it.toString()) + +// ttobjGlobal!!.synthesizeToFile(chunks[it], myHashRender, fileName) + val bundle = Bundle() + bundle.putString(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, it.toString() + prod) + ttobjGlobal!!.synthesizeToFile(chunks[it], bundle, fileName, it.toString() + prod) } } @@ -201,13 +219,14 @@ object UtilityTts { } private fun playMediaPlayerFile(context: Context, fileNum: Int) { - val musicDir = context.getExternalFilesDir(Environment.DIRECTORY_MUSIC) - val wxDir = File(musicDir, GlobalVariables.PACKAGE_NAME) - if (!wxDir.exists() && !wxDir.mkdirs()) { - return - } +// val musicDir = context.getExternalFilesDir(Environment.DIRECTORY_MUSIC) +// val wxDir = File(musicDir, GlobalVariables.PACKAGE_NAME) +// if (!wxDir.exists() && !wxDir.mkdirs()) { +// return +// } mediaPlayer?.reset() - val fileName = File(wxDir, FILENAME + fileNum.toString()).absolutePath +// val fileName = File(wxDir, FILENAME + fileNum.toString()).absolutePath + val fileName = File(context.filesDir, FILENAME + fileNum.toString()).absolutePath val uri = Uri.parse("file://$fileName") try { mediaPlayer?.setDataSource(context, uri) diff --git a/app/src/main/java/joshuatee/wx/externalGraphView/GraphView.java b/app/src/main/java/joshuatee/wx/externalGraphView/GraphView.java index d2d1ce4c..b82ea00f 100644 --- a/app/src/main/java/joshuatee/wx/externalGraphView/GraphView.java +++ b/app/src/main/java/joshuatee/wx/externalGraphView/GraphView.java @@ -331,7 +331,7 @@ protected void drawGraphElements(Canvas canvas) { protected void onDraw(Canvas canvas) { if (isInEditMode()) { canvas.drawColor(Color.rgb(200, 200, 200)); - canvas.drawText("GraphView: No Preview available", canvas.getWidth() / 2, canvas.getHeight() / 2, mPreviewPaint); + canvas.drawText("GraphView: No Preview available", getWidth() / 2, getHeight() / 2, mPreviewPaint); } else { drawGraphElements(canvas); } diff --git a/app/src/main/java/joshuatee/wx/externalGraphView/helper/GraphViewXML.java b/app/src/main/java/joshuatee/wx/externalGraphView/helper/GraphViewXML.java index 5d24d51c..610a8463 100644 --- a/app/src/main/java/joshuatee/wx/externalGraphView/helper/GraphViewXML.java +++ b/app/src/main/java/joshuatee/wx/externalGraphView/helper/GraphViewXML.java @@ -66,9 +66,6 @@ public class GraphViewXML extends GraphView { /** * creates the graphview object with data and * other options from xml attributes. - * - * @param context - * @param attrs */ public GraphViewXML(Context context, AttributeSet attrs) { super(context, attrs); diff --git a/app/src/main/java/joshuatee/wx/externalGraphView/series/BaseSeries.java b/app/src/main/java/joshuatee/wx/externalGraphView/series/BaseSeries.java index 7b28ea99..c5d9d6bb 100644 --- a/app/src/main/java/joshuatee/wx/externalGraphView/series/BaseSeries.java +++ b/app/src/main/java/joshuatee/wx/externalGraphView/series/BaseSeries.java @@ -96,13 +96,6 @@ public abstract class BaseSeries implements Series private final List> mGraphViews; private Boolean mIsCursorModeCache; - /** - * creates series without data - */ - public BaseSeries() { - mGraphViews = new ArrayList<>(); - } - /** * creates series with data * @@ -182,7 +175,7 @@ public Iterator getValues(final double from, final double until) { if (from <= getLowestValueX() && until >= getHighestValueX()) { return mData.iterator(); } else { - return new Iterator() { + return new Iterator<>() { final Iterator org = mData.iterator(); E nextValue = null; E nextNextValue = null; @@ -276,8 +269,6 @@ public int getColor() { * set the color of the series. This will be used in * plotting (depends on the series implementation) and * is used in the legend. - * - * @param mColor */ public void setColor(int mColor) { this.mColor = mColor; @@ -343,9 +334,7 @@ public E findDataPointAtX(float x) { E shortest = null; for (Map.Entry entry : mDataPoints.entrySet()) { float x1 = entry.getKey().x; - float x2 = x; - - float distance = Math.abs(x1 - x2); + float distance = Math.abs(x1 - x); if (shortest == null || distance < shortestDistance) { shortestDistance = distance; shortest = entry.getValue(); diff --git a/app/src/main/java/joshuatee/wx/fingerdraw/DrawView.kt b/app/src/main/java/joshuatee/wx/fingerdraw/DrawView.kt index 18568991..5712c64d 100644 --- a/app/src/main/java/joshuatee/wx/fingerdraw/DrawView.kt +++ b/app/src/main/java/joshuatee/wx/fingerdraw/DrawView.kt @@ -9,10 +9,9 @@ This class is used for the drawing tool accessible from the screen recording too package joshuatee.wx.fingerdraw -import android.content.Context +import android.app.Activity import android.graphics.Canvas import android.graphics.Paint -import android.util.AttributeSet import android.view.MotionEvent import android.view.View import android.widget.Button @@ -37,12 +36,14 @@ class DrawView : View { override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) { setMeasuredDimension( MyApplication.dm.widthPixels, - MyApplication.dm.heightPixels - UtilityUI.statusBarHeight(context) - UIPreferences.actionBarHeight + MyApplication.dm.heightPixels - UtilityUI.statusBarHeight(activity) - UIPreferences.actionBarHeight ) } private val undoButton: Button? = null + private val activity: Activity + /** the paint holds the draw options like colors */ private val paint = Paint() @@ -57,12 +58,14 @@ class DrawView : View { private val drawListener = DrawListener() /** this constructor allows us to use this in an xml layout */ - constructor(context: Context, attribs: AttributeSet) : super(context, attribs) { - setup() - } +// constructor(activity: Activity, attribs: AttributeSet) : super(activity, attribs) { +// this.activity = activity +// setup() +// } /** default constructor */ - constructor(context: Context) : super(context) { + constructor(activity: Activity) : super(activity) { + this.activity = activity setup() } diff --git a/app/src/main/java/joshuatee/wx/radar/NexradStatePane.kt b/app/src/main/java/joshuatee/wx/radar/NexradStatePane.kt index 14f277dc..fea01411 100644 --- a/app/src/main/java/joshuatee/wx/radar/NexradStatePane.kt +++ b/app/src/main/java/joshuatee/wx/radar/NexradStatePane.kt @@ -23,14 +23,10 @@ package joshuatee.wx.radar import android.content.Context import android.view.View -import joshuatee.wx.MyApplication import joshuatee.wx.objects.LatLon import joshuatee.wx.settings.RadarPreferences -import joshuatee.wx.settings.UIPreferences import joshuatee.wx.settings.UtilityLocation -import joshuatee.wx.ui.UtilityUI import joshuatee.wx.util.Utility -import joshuatee.wx.util.UtilityLog class NexradStatePane( val activity: VideoRecordActivity, @@ -61,23 +57,25 @@ class NexradStatePane( relativeLayouts.add(activity.findViewById(relativeLayoutResIdList[it])) relativeLayouts.last().addView(wxglSurfaceViews[it]) // - // setup special sizing for multipane + // setup special sizing for quad // - if (numberOfPanes == 4) { - val params = relativeLayouts[it].layoutParams - if (UIPreferences.radarImmersiveMode || UIPreferences.radarToolbarTransparent) - params.height = MyApplication.dm.heightPixels / 2 + UtilityUI.statusBarHeight(activity) - else - params.height = MyApplication.dm.heightPixels / - 2 - UIPreferences.actionBarHeight / - 2 - UtilityUI.statusBarHeight(activity) / 2 - - (UtilityUI.navigationBarHeight(activity) / 2.0).toInt() - if (UIPreferences.radarToolbarTransparent && !UIPreferences.radarImmersiveMode) { - UtilityLog.d("wxsize", MyApplication.dm.heightPixels.toString()) - params.height = MyApplication.dm.heightPixels / 2 - } - params.width = MyApplication.dm.widthPixels / 2 - } + + // disabled Apr 2024 after changes in layout xml +// if (numberOfPanes == 4) { +// val params = relativeLayouts[it].layoutParams +// if (UIPreferences.radarImmersiveMode || UIPreferences.radarToolbarTransparent) +// params.height = MyApplication.dm.heightPixels / 2 + UtilityUI.statusBarHeight(activity) +// else +// params.height = MyApplication.dm.heightPixels / +// 2 - UIPreferences.actionBarHeight / +// 2 - UtilityUI.statusBarHeight(activity) / 2 - +// (UtilityUI.navigationBarHeight(activity) / 2.0).toInt() +// if (UIPreferences.radarToolbarTransparent && !UIPreferences.radarImmersiveMode) { +// // UtilityLog.d("wxsize", MyApplication.dm.heightPixels.toString()) +// params.height = MyApplication.dm.heightPixels / 2 +// } +// params.width = MyApplication.dm.widthPixels / 2 +// } } wxglSurfaceViews.indices.forEach { wxglTextObjects.add(NexradRenderTextObject(activity, diff --git a/app/src/main/java/joshuatee/wx/settings/ArrayAdapterSearchView.kt b/app/src/main/java/joshuatee/wx/settings/ArrayAdapterSearchView.kt index 0280e4f3..01f307f4 100644 --- a/app/src/main/java/joshuatee/wx/settings/ArrayAdapterSearchView.kt +++ b/app/src/main/java/joshuatee/wx/settings/ArrayAdapterSearchView.kt @@ -1,46 +1,48 @@ -// http://stackoverflow.com/questions/15804805/android-action-bar-searchview-as-autocomplete -// thanks Michael Herbig -// use like app:actionViewClass="com.yourpackage.ArrayAdapterSearchView" -// - -package joshuatee.wx.settings - -import android.content.Context -import androidx.cursoradapter.widget.CursorAdapter -import androidx.appcompat.widget.SearchView -import android.util.AttributeSet -import android.widget.AdapterView -import android.widget.ArrayAdapter -import androidx.appcompat.R - -class ArrayAdapterSearchView : SearchView { - - private var searchAutoComplete: SearchAutoComplete = findViewById(R.id.search_src_text) - - constructor(context: Context) : super(context) { - initialize() - } - - constructor(context: Context, attrs: AttributeSet) : super(context, attrs) { - initialize() - } - - private fun initialize() { - this.setAdapter(null) - this.setOnItemClickListener(null) - } - - override fun setSuggestionsAdapter(adapter: CursorAdapter) {} - - fun setOnItemClickListener(listener: AdapterView.OnItemClickListener?) { - searchAutoComplete.onItemClickListener = listener - } - - fun setAdapter(adapter: ArrayAdapter<*>?) { - searchAutoComplete.setAdapter>(adapter) - } - - fun setText(text: String) { - searchAutoComplete.setText(text) - } -} +// http://stackoverflow.com/questions/15804805/android-action-bar-searchview-as-autocomplete +// thanks Michael Herbig +// use like app:actionViewClass="com.yourpackage.ArrayAdapterSearchView" +// + +package joshuatee.wx.settings + +import android.content.Context +import androidx.cursoradapter.widget.CursorAdapter +import androidx.appcompat.widget.SearchView +import android.util.AttributeSet +import android.widget.AdapterView +import android.widget.ArrayAdapter +import android.widget.AutoCompleteTextView +import androidx.appcompat.R + +class ArrayAdapterSearchView : SearchView { + + // private var searchAutoComplete: SearchAutoComplete = findViewById(R.id.search_src_text) + private var searchAutoComplete = findViewById(R.id.search_src_text) + + constructor(context: Context) : super(context) { + initialize() + } + + constructor(context: Context, attrs: AttributeSet) : super(context, attrs) { + initialize() + } + + private fun initialize() { + this.setAdapter(null) + this.setOnItemClickListener(null) + } + + override fun setSuggestionsAdapter(adapter: CursorAdapter) {} + + fun setOnItemClickListener(listener: AdapterView.OnItemClickListener?) { + searchAutoComplete.onItemClickListener = listener + } + + fun setAdapter(adapter: ArrayAdapter<*>?) { + searchAutoComplete.setAdapter>(adapter) + } + + fun setText(text: String) { + searchAutoComplete.setText(text) + } +} diff --git a/app/src/main/java/joshuatee/wx/settings/SettingsLocationGenericActivity.kt b/app/src/main/java/joshuatee/wx/settings/SettingsLocationGenericActivity.kt index 35ba10cf..098724f3 100644 --- a/app/src/main/java/joshuatee/wx/settings/SettingsLocationGenericActivity.kt +++ b/app/src/main/java/joshuatee/wx/settings/SettingsLocationGenericActivity.kt @@ -31,6 +31,7 @@ import android.view.MenuItem import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter +import android.widget.AutoCompleteTextView import android.widget.EditText import android.widget.RelativeLayout import android.widget.TextView @@ -223,7 +224,8 @@ class SettingsLocationGenericActivity : BaseActivity(), OnMenuItemClickListener changeSearchViewTextColor(searchView) } // the SearchView's AutoCompleteTextView drop down. For some reason this wasn't working in styles.xml - val autoCompleteTextView: SearchView.SearchAutoComplete = searchView.findViewById(androidx.constraintlayout.widget.R.id.search_src_text) +// val autoCompleteTextView: SearchView.SearchAutoComplete = searchView.findViewById(androidx.constraintlayout.widget.R.id.search_src_text) + val autoCompleteTextView = searchView.findViewById(androidx.constraintlayout.widget.R.id.search_src_text) when { UIPreferences.themeIsWhite -> { autoCompleteTextView.setDropDownBackgroundResource(R.drawable.dr_white) diff --git a/app/src/main/java/joshuatee/wx/telecine/RecordingSession.kt b/app/src/main/java/joshuatee/wx/telecine/RecordingSession.kt index 63c6995b..cdadd008 100644 --- a/app/src/main/java/joshuatee/wx/telecine/RecordingSession.kt +++ b/app/src/main/java/joshuatee/wx/telecine/RecordingSession.kt @@ -8,7 +8,7 @@ joshua.tee@gmail.com package joshuatee.wx.telecine -import android.content.Context +import android.app.Activity import android.os.Build import android.view.Gravity import android.view.WindowManager @@ -24,7 +24,7 @@ import joshuatee.wx.fingerdraw.DrawLineView import joshuatee.wx.fingerdraw.DrawView import joshuatee.wx.radar.NexradRenderState -internal class RecordingSession(private val context: Context) { +internal class RecordingSession(private val context: Activity) { private val windowManager: WindowManager = context.getSystemService(WINDOW_SERVICE) as WindowManager private var overlayView: OverlayView? = null private var drawToolActive = false diff --git a/app/src/main/java/joshuatee/wx/telecine/TelecineService.kt b/app/src/main/java/joshuatee/wx/telecine/TelecineService.kt index fee4d95a..2bffaad7 100644 --- a/app/src/main/java/joshuatee/wx/telecine/TelecineService.kt +++ b/app/src/main/java/joshuatee/wx/telecine/TelecineService.kt @@ -8,14 +8,14 @@ joshua.tee@gmail.com package joshuatee.wx.telecine -import android.content.Context +import android.app.Activity class TelecineService { private var recordingSession: RecordingSession? = null - fun start(context: Context) { - recordingSession = RecordingSession(context) + fun start(activity: Activity) { + recordingSession = RecordingSession(activity) recordingSession!!.showOverlay() } } diff --git a/app/src/main/java/joshuatee/wx/ui/UtilityUI.kt b/app/src/main/java/joshuatee/wx/ui/UtilityUI.kt index 0c14a7d2..9e43ca4b 100644 --- a/app/src/main/java/joshuatee/wx/ui/UtilityUI.kt +++ b/app/src/main/java/joshuatee/wx/ui/UtilityUI.kt @@ -25,14 +25,16 @@ package joshuatee.wx.ui import android.app.Activity import android.content.Context import android.content.res.Configuration +import android.os.Build import android.util.TypedValue +import android.view.WindowInsets import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsControllerCompat -import joshuatee.wx.R -import joshuatee.wx.swap import joshuatee.wx.MyApplication +import joshuatee.wx.R import joshuatee.wx.settings.UIPreferences +import joshuatee.wx.swap import joshuatee.wx.util.Utility import joshuatee.wx.util.UtilityLog import kotlin.math.pow @@ -78,10 +80,12 @@ object UtilityUI { return value } + + // distance tool, quad pane, image map, fun statusBarHeight(context: Context): Int { val resourceId = context.resources.getIdentifier("status_bar_height", "dimen", "android") return if (resourceId > 0) { - UtilityLog.d("wxsize", context.resources.getDimensionPixelSize(resourceId).toString()) + UtilityLog.d("wxsize2", context.resources.getDimensionPixelSize(resourceId).toString()) context.resources.getDimensionPixelSize(resourceId) } else { UtilityLog.d("wxsize", "error in getting status bar height") @@ -89,21 +93,41 @@ object UtilityUI { } } - // only used to size multipane radar - fun navigationBarHeight(context: Context): Int { - val resourceId = context.resources.getIdentifier("navigation_bar_height", "dimen", "android") - // assume no nav bar in Android 13 -// if (Build.VERSION.SDK_INT > 32) { -// return 0 -// } - return if (resourceId > 0) { - // context.resources.getDimensionPixelSize(resourceId) - TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, context.resources.getDimensionPixelSize(resourceId).toFloat(), MyApplication.dm).toInt() + // quad pane: Caused by: java.lang.NullPointerException: getRootWindowInsets(...) must not be null + // view is not attached + fun statusBarHeightNew(activity: Activity): Int { + return if (Build.VERSION.SDK_INT >= 30) { + val windowInsets: WindowInsets = activity.window.decorView.rootWindowInsets + val statusBarHeight = windowInsets.getInsets(WindowInsets.Type.statusBars()).top + UtilityLog.d("wxsize2", statusBarHeight.toString()) + statusBarHeight } else { - 0 + val resourceId = activity.resources.getIdentifier("status_bar_height", "dimen", "android") + if (resourceId > 0) { + UtilityLog.d("wxsize1", activity.resources.getDimensionPixelSize(resourceId).toString()) + activity.resources.getDimensionPixelSize(resourceId) + } else { + UtilityLog.d("wxsize0", "error in getting status bar height") + 0 + } } } + // only used to size multipane radar +// fun navigationBarHeight(context: Context): Int { +// val resourceId = context.resources.getIdentifier("navigation_bar_height", "dimen", "android") +// // assume no nav bar in Android 13 +//// if (Build.VERSION.SDK_INT > 32) { +//// return 0 +//// } +// return if (resourceId > 0) { +// // context.resources.getDimensionPixelSize(resourceId) +// TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, context.resources.getDimensionPixelSize(resourceId).toFloat(), MyApplication.dm).toInt() +// } else { +// 0 +// } +// } + fun spToPx(sp: Int, context: Context): Float = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp.toFloat(), context.resources.displayMetrics) diff --git a/app/src/main/java/joshuatee/wx/util/Utility.kt b/app/src/main/java/joshuatee/wx/util/Utility.kt index 6eebb0d0..cd91c79d 100644 --- a/app/src/main/java/joshuatee/wx/util/Utility.kt +++ b/app/src/main/java/joshuatee/wx/util/Utility.kt @@ -38,22 +38,20 @@ import joshuatee.wx.settings.UIPreferences import joshuatee.wx.settings.UtilityNavDrawer import joshuatee.wx.ui.UtilityUI import kotlin.system.exitProcess -import android.net.ConnectivityManager -import joshuatee.wx.ui.ObjectDialogue object Utility { - private fun showDiagnostics(context: Context): String { + private fun showDiagnostics(activity: Activity): String { var diagnostics = "" diagnostics += MyApplication.dm.widthPixels.toString() + " Screen width" + GlobalVariables.newline diagnostics += MyApplication.dm.heightPixels.toString() + " Screen height" + GlobalVariables.newline - diagnostics += UtilityUI.statusBarHeight(context).toString() + " Status bar height" + GlobalVariables.newline + diagnostics += UtilityUI.statusBarHeight(activity).toString() + " Status bar height" + GlobalVariables.newline var landScape = false - if (context.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) { + if (activity.resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) { landScape = true } diagnostics += landScape.toString() + " Landscape" + GlobalVariables.newline - diagnostics += "Homescreen navdrawer list: " + UtilityNavDrawer.getNavDrawerTokenList(context) + GlobalVariables.newline + diagnostics += "Homescreen navdrawer list: " + UtilityNavDrawer.getNavDrawerTokenList(activity) + GlobalVariables.newline return diagnostics } diff --git a/app/src/main/jni/colorGen.c b/app/src/main/jni/colorGen.c index e9309aae..ed370b64 100644 --- a/app/src/main/jni/colorGen.c +++ b/app/src/main/jni/colorGen.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. diff --git a/app/src/main/jni/colorGen.h b/app/src/main/jni/colorGen.h index a302ebbd..2bf37d4d 100644 --- a/app/src/main/jni/colorGen.h +++ b/app/src/main/jni/colorGen.h @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. diff --git a/app/src/main/jni/decode8BitAndGenRadials.c b/app/src/main/jni/decode8BitAndGenRadials.c index f152d384..27e270a4 100644 --- a/app/src/main/jni/decode8BitAndGenRadials.c +++ b/app/src/main/jni/decode8BitAndGenRadials.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -26,16 +26,16 @@ union CharToStruct { unsigned short value; }; -unsigned short toShort(char* value){ +unsigned short toShort(char* value) { union CharToStruct cs; - cs.charArray[0] = value[1]; // most significant bit of short is not first bit of char array + cs.charArray[0] = value[1]; // most significant bit of short is not first bit of char array cs.charArray[1] = value[0]; return cs.value; } -JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials ( +JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials( JNIEnv * env, - jobject clazz, // was jclass + jobject clazz, // was jclass jstring src, jlong seekStart, jint length, @@ -97,7 +97,7 @@ JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials ( // perror("error reading file"); //} } - BZ2_bzBuffToBuffDecompress((char *)oBuff, (unsigned int *)&ret_size, (char *)iBuff, length, 1, 0); // 1 for small, 0 verbosity + BZ2_bzBuffToBuffDecompress((char *) oBuff, (unsigned int *) &ret_size, (char *) iBuff, length, 1, 0); // 1 for small, 0 verbosity int o_idx = 20; char array[2]; array[0] = oBuff[o_idx++]; @@ -123,11 +123,11 @@ JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials ( array[0] = oBuff[o_idx + number_of_rle_halfwords + 2]; array[1] = oBuff[o_idx + number_of_rle_halfwords + 3]; tn_next = toShort(array); - angle_next = (float)(450 - (tn_next / 10.0)); - angle = (float)(450 - (tn / 10.0)); - if (r == 0) + angle_next = (float) (450 - (tn_next / 10.0)); + angle = (float) (450 - (tn / 10.0)); + if (r == 0) { angle_0 = angle; - + } level = 0; level_count = 0; bin_start = binSize; @@ -141,9 +141,9 @@ JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials ( double angleCos = cos(angle / W_180_DIV_PI); double angleSin = sin(angle / W_180_DIV_PI); for (bin = 0; bin < number_of_rle_halfwords; bin++) { - cur_level = (unsigned char)oBuff[o_idx++]; - if (cur_level == level){ - level_count++; + cur_level = (unsigned char) oBuff[o_idx++]; + if (cur_level == level) { + level_count += 1; } else { bin_size_times_level_count = binSize * level_count; @@ -160,16 +160,16 @@ JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials ( rBuff[r_i++] = bin_start * angleSin; for (color_for = 0; color_for < 4; color_for++) { - cBuff[c_i++] = (jbyte)color_r[level]; - cBuff[c_i++] = (jbyte)color_g[level]; - cBuff[c_i++] = (jbyte)color_b[level]; + cBuff[c_i++] = (jbyte) color_r[level]; + cBuff[c_i++] = (jbyte) color_g[level]; + cBuff[c_i++] = (jbyte) color_b[level]; } - total_bins++; + total_bins += 1; level = cur_level; bin_start = bin * binSize; level_count = 1; } - } // end looping over bins in one radial + } // end looping over bins in one radial } fclose(fp_src); return total_bins; diff --git a/app/src/main/jni/decode8BitAndGenRadials.h b/app/src/main/jni/decode8BitAndGenRadials.h index 20712647..5f28b319 100644 --- a/app/src/main/jni/decode8BitAndGenRadials.h +++ b/app/src/main/jni/decode8BitAndGenRadials.h @@ -33,7 +33,24 @@ extern "C" { #endif -JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials(JNIEnv *, jobject, jstring, jlong, jint, jobject, jobject, jobject, jobject, jfloat, jbyte, jbyte, jbyte, jobject, jobject, jobject, jint); +JNIEXPORT jint JNICALL Java_joshuatee_wx_Jni_decode8BitAndGenRadials( + JNIEnv *, + jobject, + jstring, + jlong, + jint, + jobject, + jobject, + jobject, + jobject, + jfloat, + jbyte, + jbyte, + jbyte, + jobject, + jobject, + jobject, + jint); #ifdef __cplusplus } diff --git a/app/src/main/jni/genCircle.c b/app/src/main/jni/genCircle.c index e014a71d..58aed4f3 100644 --- a/app/src/main/jni/genCircle.c +++ b/app/src/main/jni/genCircle.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -58,7 +58,7 @@ JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genCircle( double W_180_DIV_PI = 180.0 / M_PI; double W_PI_DIV_360 = M_PI / 360.0 ; double W_PI_DIV_4 = M_PI / 4.0; - len = len * 0.50; + len *= 0.50; for (int i_count = 0; i_count < count; i_count++) { point_x = x_arr[i_count]; point_y = y_arr[i_count]; diff --git a/app/src/main/jni/genCircle.h b/app/src/main/jni/genCircle.h index d1c56708..03efa483 100644 --- a/app/src/main/jni/genCircle.h +++ b/app/src/main/jni/genCircle.h @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -30,7 +30,23 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genCircle(JNIEnv * , jclass, jobject, jobject, jfloat, jfloat, jfloat, jfloat, jfloat, jdoubleArray, jdoubleArray, jint, jfloat, jint, jobject, jbooleanArray); +JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genCircle( + JNIEnv * , + jclass, + jobject, + jobject, + jfloat, + jfloat, + jfloat, + jfloat, + jfloat, + jdoubleArray, + jdoubleArray, + jint, + jfloat, + jint, + jobject, + jbooleanArray); #ifdef __cplusplus } diff --git a/app/src/main/jni/genCircleWithColor.c b/app/src/main/jni/genCircleWithColor.c index e0ec97f3..0dbb717b 100644 --- a/app/src/main/jni/genCircleWithColor.c +++ b/app/src/main/jni/genCircleWithColor.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -72,7 +72,7 @@ JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genCircleWithColor( double W_180_DIV_PI = 180.0 / M_PI; double W_PI_DIV_360 = M_PI / 360.0 ; double W_PI_DIV_4 = M_PI / 4.0; - len = len * 0.50; + len *= 0.50; for (i_count = 0; i_count < count; i_count++) { col_arr[0] = red(col_arrInt[i_count]); col_arr[1] = green(col_arrInt[i_count]); @@ -91,8 +91,8 @@ JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genCircleWithColor( lBuff[l_count++] = pix_x_d + (len * cos((i + 1) * twicePi / triangleAmount)); lBuff[l_count++] = -1.0 * pix_y_d + (len * sin((i + 1) * twicePi / triangleAmount)); iBuff[ix_count] = ix_count; - iBuff[ix_count+1] = ix_count+1; - iBuff[ix_count+2] = ix_count+2; + iBuff[ix_count+1] = ix_count + 1; + iBuff[ix_count+2] = ix_count + 2; ix_count += 3; cBuff[c_count] = col_arr[0]; cBuff[c_count + 1] = col_arr[1]; diff --git a/app/src/main/jni/genCircleWithColor.h b/app/src/main/jni/genCircleWithColor.h index e2bcbb69..4f6ae224 100644 --- a/app/src/main/jni/genCircleWithColor.h +++ b/app/src/main/jni/genCircleWithColor.h @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -30,7 +30,23 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genCircleWithColor(JNIEnv * , jclass, jobject, jobject, jfloat, jfloat, jfloat, jfloat, jfloat, jdoubleArray, jdoubleArray, jint, jfloat, jint, jobject, jintArray); +JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genCircleWithColor( + JNIEnv * , + jclass, + jobject, + jobject, + jfloat, + jfloat, + jfloat, + jfloat, + jfloat, + jdoubleArray, + jdoubleArray, + jint, + jfloat, + jint, + jobject, + jintArray); #ifdef __cplusplus } diff --git a/app/src/main/jni/genIndex.c b/app/src/main/jni/genIndex.c index 3471b31f..70243f0e 100644 --- a/app/src/main/jni/genIndex.c +++ b/app/src/main/jni/genIndex.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -49,12 +49,12 @@ JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genIndex( breakSize = remainder; } for (int j = 0; j < breakSize; j++) { - iBuff[i++] = (short)(0 + incr); - iBuff[i++] = (short)(1 + incr); - iBuff[i++] = (short)(2 + incr); - iBuff[i++] = (short)(0 + incr); - iBuff[i++] = (short)(2 + incr); - iBuff[i++] = (short)(3 + incr); + iBuff[i++] = (short) (0 + incr); + iBuff[i++] = (short) (1 + incr); + iBuff[i++] = (short) (2 + incr); + iBuff[i++] = (short) (0 + incr); + iBuff[i++] = (short) (2 + incr); + iBuff[i++] = (short) (3 + incr); incr += 4; } } @@ -79,7 +79,7 @@ JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genIndexLine( } else { chunk_count = total_bins / breakSize; remainder = total_bins - breakSize * chunk_count; - chunk_count++; + chunk_count += 1; } int chunk_index = 0; for (chunk_index = 0; chunk_index < chunk_count; chunk_index++) { @@ -88,8 +88,8 @@ JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genIndexLine( breakSize = remainder; } for (int j = 0; j < breakSize; j++) { - iBuff[i++] = (short)(0 + incr); - iBuff[i++] = (short)(1 + incr); + iBuff[i++] = (short) (0 + incr); + iBuff[i++] = (short) (1 + incr); incr += 2; } } diff --git a/app/src/main/jni/genMercator.c b/app/src/main/jni/genMercator.c index 634e5ba8..2b2d3737 100644 --- a/app/src/main/jni/genMercator.c +++ b/app/src/main/jni/genMercator.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -38,7 +38,7 @@ JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genMercator( double W_180_DIV_PI = 180.0 / M_PI; double W_PI_DIV_360 = M_PI / 360.0; double W_PI_DIV_4 = M_PI / 4.0; - for (int i_count = 0; i_count < count; i_count = i_count + 2) { + for (int i_count = 0; i_count < count; i_count += 2) { oBuff[i_count + 1] = -1.0f * (-1.0 * (((W_180_DIV_PI * log(tan(W_PI_DIV_4 + iBuff[i_count] * W_PI_DIV_360))) - (W_180_DIV_PI * log(tan(W_PI_DIV_4 + centerX * W_PI_DIV_360)))) * oneDegreeScaleFactor) + yImageCenterPixels); oBuff[i_count] = -1.0 * ((iBuff[i_count + 1] - centerY) * oneDegreeScaleFactor) + xImageCenterPixels; diff --git a/app/src/main/jni/genMercator.h b/app/src/main/jni/genMercator.h index 51250a86..fd17df14 100644 --- a/app/src/main/jni/genMercator.h +++ b/app/src/main/jni/genMercator.h @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -30,7 +30,17 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genMercator(JNIEnv * , jclass, jobject, jobject, jfloat, jfloat, jfloat, jfloat, jfloat, jint); +JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genMercator( + JNIEnv * , + jclass, + jobject, + jobject, + jfloat, + jfloat, + jfloat, + jfloat, + jfloat, + jint); #ifdef __cplusplus } diff --git a/app/src/main/jni/genTriangle.c b/app/src/main/jni/genTriangle.c index ac191030..6ea3ecdd 100644 --- a/app/src/main/jni/genTriangle.c +++ b/app/src/main/jni/genTriangle.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. diff --git a/app/src/main/jni/genTriangle.h b/app/src/main/jni/genTriangle.h index 3964626c..d3c8c5c0 100644 --- a/app/src/main/jni/genTriangle.h +++ b/app/src/main/jni/genTriangle.h @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -30,7 +30,22 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genTriangle(JNIEnv *, jclass, jobject, jobject, jfloat, jfloat, jfloat, jfloat, jfloat, jdoubleArray, jdoubleArray, jint, jfloat, jobject, jbooleanArray); +JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genTriangle( + JNIEnv *, + jclass, + jobject, + jobject, + jfloat, + jfloat, + jfloat, + jfloat, + jfloat, + jdoubleArray, + jdoubleArray, + jint, + jfloat, + jobject, + jbooleanArray); #ifdef __cplusplus } diff --git a/app/src/main/jni/genTriangleUp.c b/app/src/main/jni/genTriangleUp.c index 8909e929..c7db1fee 100644 --- a/app/src/main/jni/genTriangleUp.c +++ b/app/src/main/jni/genTriangleUp.c @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. diff --git a/app/src/main/jni/genTriangleUp.h b/app/src/main/jni/genTriangleUp.h index f51ae1ab..2d617137 100644 --- a/app/src/main/jni/genTriangleUp.h +++ b/app/src/main/jni/genTriangleUp.h @@ -1,6 +1,6 @@ /* - Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 joshua.tee@gmail.com + Copyright 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 joshua.tee@gmail.com This file is part of wX. @@ -30,7 +30,22 @@ extern "C" { #endif -JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genTriangleUp(JNIEnv *, jclass, jobject, jobject, jfloat, jfloat, jfloat, jfloat, jfloat, jdoubleArray, jdoubleArray , jint, jfloat, jobject, jbooleanArray); +JNIEXPORT void JNICALL Java_joshuatee_wx_Jni_genTriangleUp( + JNIEnv *, + jclass, + jobject, + jobject, + jfloat, + jfloat, + jfloat, + jfloat, + jfloat, + jdoubleArray, + jdoubleArray, + jint, + jfloat, + jobject, + jbooleanArray); #ifdef __cplusplus } diff --git a/app/src/main/res/layout/activity_uswxoglmultipane.xml b/app/src/main/res/layout/activity_uswxoglmultipane.xml index 6ef985c8..a4fdfda2 100644 --- a/app/src/main/res/layout/activity_uswxoglmultipane.xml +++ b/app/src/main/res/layout/activity_uswxoglmultipane.xml @@ -32,7 +32,6 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> - . - - --> - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_uswxoglmultipane_quad_immersive_white.xml b/app/src/main/res/layout/activity_uswxoglmultipane_quad_immersive_white.xml index 89457eee..7a2009b5 100644 --- a/app/src/main/res/layout/activity_uswxoglmultipane_quad_immersive_white.xml +++ b/app/src/main/res/layout/activity_uswxoglmultipane_quad_immersive_white.xml @@ -1,68 +1,132 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_uswxoglmultipane_white.xml b/app/src/main/res/layout/activity_uswxoglmultipane_white.xml index 5a8143b3..898e7d10 100644 --- a/app/src/main/res/layout/activity_uswxoglmultipane_white.xml +++ b/app/src/main/res/layout/activity_uswxoglmultipane_white.xml @@ -32,7 +32,6 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> - - diff --git a/app/src/main/res/layout/fragment_recyclerview.xml b/app/src/main/res/layout/fragment_recyclerview.xml index 4524d857..9f26bf7e 100644 --- a/app/src/main/res/layout/fragment_recyclerview.xml +++ b/app/src/main/res/layout/fragment_recyclerview.xml @@ -1,25 +1,25 @@ - - - + + + diff --git a/app/src/main/res/layout/listrow_details.xml b/app/src/main/res/layout/listrow_details.xml index 845f86f6..3e46a417 100644 --- a/app/src/main/res/layout/listrow_details.xml +++ b/app/src/main/res/layout/listrow_details.xml @@ -21,19 +21,4 @@ android:text="" android:textColor="#fff" android:textSize="@dimen/normal_text" /> - - - - - - - - - diff --git a/app/src/main/res/layout/listrow_group.xml b/app/src/main/res/layout/listrow_group.xml index 478b20cf..55d72087 100644 --- a/app/src/main/res/layout/listrow_group.xml +++ b/app/src/main/res/layout/listrow_group.xml @@ -14,7 +14,6 @@ android:textSize="@dimen/normal_text" tools:ignore="Overdraw" /> - diff --git a/app/src/main/res/menu/generic_about.xml b/app/src/main/res/menu/generic_about.xml index 69b4e47b..cec4da3e 100644 --- a/app/src/main/res/menu/generic_about.xml +++ b/app/src/main/res/menu/generic_about.xml @@ -1,30 +1,28 @@ - - - - - - - + + + + + diff --git a/app/src/main/res/menu/hourly_top.xml b/app/src/main/res/menu/hourly_top.xml index 48cd176b..66d05262 100644 --- a/app/src/main/res/menu/hourly_top.xml +++ b/app/src/main/res/menu/hourly_top.xml @@ -1,33 +1,32 @@ - - - - - - - + + + + + + diff --git a/app/src/main/res/menu/image_show_activity.xml b/app/src/main/res/menu/image_show_activity.xml index 69b4e47b..cec4da3e 100644 --- a/app/src/main/res/menu/image_show_activity.xml +++ b/app/src/main/res/menu/image_show_activity.xml @@ -1,30 +1,28 @@ - - - - - - - + + + + + diff --git a/app/src/main/res/menu/imagecollection.xml b/app/src/main/res/menu/imagecollection.xml index 4a117f40..77787dce 100644 --- a/app/src/main/res/menu/imagecollection.xml +++ b/app/src/main/res/menu/imagecollection.xml @@ -35,5 +35,3 @@ android:title="@string/rtma" app:showAsAction="ifRoom" /> - - diff --git a/app/src/main/res/menu/models_spcsref.xml b/app/src/main/res/menu/models_spcsref.xml index 6a73689d..2e4f2fe8 100644 --- a/app/src/main/res/menu/models_spcsref.xml +++ b/app/src/main/res/menu/models_spcsref.xml @@ -67,5 +67,3 @@ android:title="" app:showAsAction="never" /> - - diff --git a/app/src/main/res/menu/models_spcsref_top.xml b/app/src/main/res/menu/models_spcsref_top.xml index e03d9347..90a09de2 100644 --- a/app/src/main/res/menu/models_spcsref_top.xml +++ b/app/src/main/res/menu/models_spcsref_top.xml @@ -25,5 +25,3 @@ android:title="@string/fav" app:showAsAction="always" /> - - diff --git a/app/src/main/res/menu/nwsobssites.xml b/app/src/main/res/menu/nwsobssites.xml index f2a238b5..b02d9225 100644 --- a/app/src/main/res/menu/nwsobssites.xml +++ b/app/src/main/res/menu/nwsobssites.xml @@ -1,32 +1,31 @@ - - - - - - - + + + + + + diff --git a/app/src/main/res/menu/settings_color_palette_editor.xml b/app/src/main/res/menu/settings_color_palette_editor.xml index 83b32b8d..6d0ce5f7 100644 --- a/app/src/main/res/menu/settings_color_palette_editor.xml +++ b/app/src/main/res/menu/settings_color_palette_editor.xml @@ -39,5 +39,3 @@ android:title="@string/load_from_file" app:showAsAction="never" /> - - diff --git a/app/src/main/res/menu/settings_color_palette_top.xml b/app/src/main/res/menu/settings_color_palette_top.xml index af3d7ccc..6d94e8f3 100644 --- a/app/src/main/res/menu/settings_color_palette_top.xml +++ b/app/src/main/res/menu/settings_color_palette_top.xml @@ -25,4 +25,3 @@ android:title="@string/help_menu_item" app:showAsAction="always" /> - diff --git a/app/src/main/res/menu/settings_location_generic.xml b/app/src/main/res/menu/settings_location_generic.xml index 827ecf74..5e588eb7 100644 --- a/app/src/main/res/menu/settings_location_generic.xml +++ b/app/src/main/res/menu/settings_location_generic.xml @@ -1,36 +1,34 @@ - - - - - - - - + + + + + + diff --git a/app/src/main/res/menu/shared_multigraphics.xml b/app/src/main/res/menu/shared_multigraphics.xml index 69b4e47b..cec4da3e 100644 --- a/app/src/main/res/menu/shared_multigraphics.xml +++ b/app/src/main/res/menu/shared_multigraphics.xml @@ -1,30 +1,28 @@ - - - - - - - + + + + + diff --git a/app/src/main/res/menu/shared_tts.xml b/app/src/main/res/menu/shared_tts.xml index 8a76a25a..bf733b30 100644 --- a/app/src/main/res/menu/shared_tts.xml +++ b/app/src/main/res/menu/shared_tts.xml @@ -1,45 +1,43 @@ - - - - - - - - - - + + + + + + + + diff --git a/app/src/main/res/menu/spcmeso_top.xml b/app/src/main/res/menu/spcmeso_top.xml index e6c722ce..a8a6e506 100644 --- a/app/src/main/res/menu/spcmeso_top.xml +++ b/app/src/main/res/menu/spcmeso_top.xml @@ -60,4 +60,3 @@ - diff --git a/app/src/main/res/menu/spcsoundings.xml b/app/src/main/res/menu/spcsoundings.xml index 1d3fa0b8..85519179 100644 --- a/app/src/main/res/menu/spcsoundings.xml +++ b/app/src/main/res/menu/spcsoundings.xml @@ -68,4 +68,3 @@ android:title="@string/spc_help" app:showAsAction="never" /> - diff --git a/app/src/main/res/menu/spcsoundings_top.xml b/app/src/main/res/menu/spcsoundings_top.xml index a0dffe40..e91d5f75 100644 --- a/app/src/main/res/menu/spcsoundings_top.xml +++ b/app/src/main/res/menu/spcsoundings_top.xml @@ -1,27 +1,27 @@ - - - - - + + + + + diff --git a/app/src/main/res/menu/spcswo.xml b/app/src/main/res/menu/spcswo.xml index f4f79768..a36972b2 100644 --- a/app/src/main/res/menu/spcswo.xml +++ b/app/src/main/res/menu/spcswo.xml @@ -1,101 +1,98 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/usalerts_detail.xml b/app/src/main/res/menu/usalerts_detail.xml index 2e3424c8..8c63233f 100644 --- a/app/src/main/res/menu/usalerts_detail.xml +++ b/app/src/main/res/menu/usalerts_detail.xml @@ -41,5 +41,3 @@ android:title="@string/label_playlist" app:showAsAction="never" /> - - diff --git a/app/src/main/res/menu/uswxoglradar.xml b/app/src/main/res/menu/uswxoglradar.xml index afb90eba..daeb32aa 100644 --- a/app/src/main/res/menu/uswxoglradar.xml +++ b/app/src/main/res/menu/uswxoglradar.xml @@ -331,5 +331,3 @@ android:title="@string/label_blank" app:showAsAction="never" /> - - diff --git a/app/src/main/res/menu/uswxoglradarmultipane.xml b/app/src/main/res/menu/uswxoglradarmultipane.xml index 462d8b8e..e18ea4c3 100644 --- a/app/src/main/res/menu/uswxoglradarmultipane.xml +++ b/app/src/main/res/menu/uswxoglradarmultipane.xml @@ -334,5 +334,3 @@ android:title="@string/label_blank" app:showAsAction="never" /> - - diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d9db89a5..d8a15a34 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -414,13 +414,6 @@ true false - - -