https://www.youtube.com/playlist?list=PLKK11Ligqitg9MOX3-0tFT1Rmh3uJp7kA
import androidx.compose.animation.core.* | |
import androidx.compose.foundation.background | |
import androidx.compose.foundation.layout.* | |
import androidx.compose.foundation.shape.CircleShape | |
import androidx.compose.material.MaterialTheme | |
import androidx.compose.material.Text | |
import androidx.compose.runtime.Composable | |
import androidx.compose.runtime.getValue | |
import androidx.compose.ui.Alignment | |
import androidx.compose.ui.Modifier |
#!/bin/bash | |
# This is a simple script that takes some files as arguments and sends them to a special chat | |
# Just create a new bot at @BotFather and get your chat ID from @myidbot and enter them here | |
# You can also make a shortcut in '~/.bashrc' like "alias tg='bash /opt/scripts/tg.sh'" | |
# After that restart bash and use it like 'tg file1.txt file2.jpg' | |
# EDIT TOKEN and CHAT_ID: | |
TOKEN="TOKEN" | |
CHAT_ID="12341234" | |
# Make sure curl is installed | |
for arg in "$@" |
You can do a SQL text query by using the LIKE operator. The issue is that using it requires a lot of computation, as a complete string query is done. Also if you want to have more search options (more fields), your query will grow a lot in complexity. To solve this issue, there's a concept of virtual tables for full text search (FTS).
We will build our solution using Room (already set in the project). We're using version 2.2.0-rc01 for that.
With Room, the only thing we need is to create the new class with @FTS4
notation. By specifying contentEntity
to be the Route class, it means that it will reuse the values from the Route table instead of populating this one with copies. The fields in question should match the ones from the Route table. In this example we only need the title.
package me.seebrock3r.common.widget | |
import android.graphics.Canvas | |
import android.graphics.Paint | |
import android.graphics.Rect | |
import android.view.View | |
import androidx.annotation.ColorInt | |
import androidx.annotation.Px | |
import androidx.core.graphics.withTranslation | |
import androidx.core.view.children |
Build "Sources for Android 28" so you can comfortably browse the Android API source in Android Studio.
- Collect source files
mkdir android-sdk-source-build
cd android-sdk-source-build
mkdir -p frameworks/base
<?xml version="1.0" encoding="utf-8"?> | |
<!-- | |
Copyright 2018 Google Inc. | |
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except | |
in compliance with the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software distributed under the License | |
is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express | |
or implied. See the License for the specific language governing permissions and limitations under | |
the License. |
Update: As of 11 January 2022, git.io no longer accepts new URLs.
Command:
curl https://git.io/ -i -F "url=https://github.com/YOUR_GITHUB_URL" -F "code=YOUR_CUSTOM_NAME"
URLs that can be created is from:
https://github.com/*
https://*.github.com
task resolveDependencies { | |
setDescription "Resolves all projects dependencies from the repository." | |
setGroup "Build Server" | |
doLast { | |
rootProject.allprojects { project -> | |
project.buildscript.configurations.forEach { configuration -> | |
if (configuration.canBeResolved) { | |
configuration.resolve() | |
} |
/* | |
* Copyright 2017 Google Inc. | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file | |
* except in compliance with the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software distributed under the | |
* License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |