Skip to content

Instantly share code, notes, and snippets.

View JakeSteam's full-sized avatar
🤖

Jake Lee JakeSteam

🤖
View GitHub Profile
@JakeSteam
JakeSteam / .travis.yml
Last active December 15, 2020 10:27
Creating app bundles and APKs on Travis CI (for https://wp.me/paoKlI-Gk)
# Overall config
dist: xenial
language: android
# Android version config
android:
components:
- build-tools-28.0.3
- android-28
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="uk.co.jakelee.updatelistener">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
@JakeSteam
JakeSteam / AndroidManifest.xml
Created April 28, 2019 21:13
"How to programmatically change your Android app icon and name" for http://blog.jakelee.co.uk/programmatically-changing-app-icon
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="uk.co.jakelee.dynamiciconchanging">
<application
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER"/>
@JakeSteam
JakeSteam / SettingsFragment.kt
Created March 18, 2019 22:06
Automatically adding build time to your Android app
private fun setupVersionInfo() {
findPreference(getString(R.string.pref_version)).title = "V${BuildConfig.VERSION_NAME}"
findPreference(getString(R.string.pref_version)).summary = String.format(
getString(R.string.version_summary),
BuildConfig.VERSION_CODE,
SimpleDateFormat("dd MMM yyy", Locale.US).format(BuildConfig.BUILD_TIME)
)
}
@JakeSteam
JakeSteam / MainActivity.kt
Created March 5, 2019 14:16
Creating a SharedPreferences utility
val prefHelper = PreferenceHelper(this)
val myBoolean = prefHelper.getBooleanPref(PreferenceHelper.BooleanPref.setting1)
prefHelper.setBooleanPref(PreferenceHelper.BooleanPref.setting1, false)
val myString = prefHelper.getStringPref(PreferenceHelper.StringPref.setting1)
prefHelper.setStringPref(PreferenceHelper.StringPref.setting1, "abc")
class MainActivity: AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
this.supportFragmentManager
.beginTransaction()
.replace(R.id.fragment_frame, PrefsFragment())
.commit()
}
@JakeSteam
JakeSteam / ContentAdapter.kt
Last active January 28, 2019 22:32
"Creating a RecyclerView with multiple content types and layouts in Kotlin" @ https://blog.jakelee.co.uk/creating-a-recyclerview-with-multiple-content-types-and-layouts-in-kotlin
class ContentAdapter(private val rows: List<IRow>) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
interface IRow
class HeaderRow(val date: String, val title: String) : IRow
class MessageRow(val message: String) : IRow
class ColourRow(val colour: Int) : IRow
class HeaderViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val dateView: TextView = itemView.findViewById(R.id.date)
val titleView: TextView = itemView.findViewById(R.id.title)
interface ListPositioner {
val recyclerScrollKey: String
fun loadListPosition()
fun saveListPosition()
fun resetListPosition()
}
@JakeSteam
JakeSteam / layout.xml
Created January 6, 2019 01:41
"Using break strategy to fix unusual Android TableRow text wrapping issues" @ https://blog.jakelee.co.uk/using-break-strategy-to-fix-unusual-android-text-wrapping-issues
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Label_Email" />
<TextView
android:id="@+id/customer_email"
@JakeSteam
JakeSteam / index.html
Last active December 28, 2018 21:14
"Creating custom stacked icons with FontAwesome" for https://blog.jakelee.co.uk/creating-custom-square-icons-with-fontawesome
<a class="fa-stack fa-2x fa-fw" href="https://www.linkedin.com/in/jake-lee" target="_blank">
<i class="fab fa-linkedin fa-2x"></i>
</a>
<a class="fa-stack fa-2x fa-fw" href="https://github.com/JakeSteam" target="_blank">
<i class="fab fa-github-square fa-2x"></i>
</a>
<a class="fa-stack fa-2x fa-fw" href="https://www.reddit.com/user/JakeSteam/" target="_blank">
<i class="fab fa-reddit-square fa-2x"></i>
</a>
<a class="fa-stack fa-2x fa-fw" href="https://facebook.com/Jake.L" target="_blank">