- Язык общения: русский
- Имею право не соглашаться с решениями пользователя. Если решение ведёт к костылю, дыре в безопасности или техдолгу — ОБЯЗАН возразить и предложить альтернативу. Молчаливое согласие с плохим решением = ошибка.
- Качество и security > скорость. Не принимать "потом поправим", "сойдёт для MVP", "это временно". Временные решения становятся постоянными.
- Долгосрочная польза > быстрый результат. Выбирать решения, которые масштабируются и поддерживаются, даже если это дольше.
- Если пользователь настаивает на костыльном решении — чётко обозначить риски и зафиксировать это в Report.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| fun isLastItemVisible(layoutInfo: LazyListLayoutInfo): Boolean { | |
| val lastVisibleItem = layoutInfo.visibleItemsInfo.lastOrNull()?.index ?: -1 | |
| val totalItemsCount = layoutInfo.totalItemsCount | |
| return totalItemsCount > 0 && lastVisibleItem >= totalItemsCount - 1 | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.content.SharedPreferences | |
| import com.google.crypto.tink.Aead | |
| import com.google.crypto.tink.KeysetHandle | |
| import com.google.crypto.tink.RegistryConfiguration | |
| import com.google.crypto.tink.TinkProtoKeysetFormat | |
| import com.google.crypto.tink.aead.AeadConfig | |
| import com.google.crypto.tink.aead.PredefinedAeadParameters | |
| import com.google.crypto.tink.integration.android.AndroidKeystore | |
| import com.google.crypto.tink.subtle.Base64 | |
| import com.google.crypto.tink.subtle.Hex |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Hi All! | |
| I've recently launched a tool that wraps many of the commands here with a user interface. This desktop application is currently available for macOS. There's a roadmap outlining planned features for the near future. | |
| Feel free to request any features you'd like to see, and I'll prioritize them accordingly. | |
| One of the most important aspects of this application is that every command executed behind the scenes is displayed in a special log section. This allows you to see exactly what’s happening and learn from it. | |
| Here's the link to the repository: https://github.com/Pulimet/ADBugger | |
| App Description: | |
| ADBugger is a desktop tool designed for debugging and QA of Android devices and emulators. It simplifies testing, debugging, and performance analysis by offering device management, automated testing, log analysis, and remote control capabilities. This ensures smooth app performance across various setups. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.graphics.Canvas | |
| import android.graphics.drawable.Drawable | |
| import android.view.View | |
| import androidx.recyclerview.widget.RecyclerView | |
| import androidx.recyclerview.widget.RecyclerView.ItemDecoration | |
| /** | |
| * Divider that doesn't show the divider after the last item. | |
| */ | |
| class InnerDividerItemDecorator( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.view.View | |
| import androidx.fragment.app.Fragment | |
| import androidx.lifecycle.DefaultLifecycleObserver | |
| import androidx.lifecycle.Lifecycle | |
| import androidx.lifecycle.LifecycleOwner | |
| import androidx.viewbinding.ViewBinding | |
| import kotlin.properties.ReadOnlyProperty | |
| import kotlin.reflect.KProperty | |
| inline fun <reified T : ViewBinding> Fragment.viewBinding() = FragmentViewBindingDelegate(T::class.java, this) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import android.content.Context | |
| import android.graphics.drawable.BitmapDrawable | |
| import android.graphics.drawable.GradientDrawable | |
| import android.text.SpannableString | |
| import android.text.Spanned | |
| import android.text.TextPaint | |
| import android.text.method.LinkMovementMethod | |
| import android.text.style.ClickableSpan | |
| import android.util.DisplayMetrics | |
| import android.util.TypedValue |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var mqtt = require('mqtt'); //https://www.npmjs.com/package/mqtt | |
| var Topic = '#'; //subscribe to all topics | |
| var Broker_URL = 'mqtt://192.168.1.123'; | |
| var Database_URL = '192.168.1.123'; | |
| var options = { | |
| clientId: 'MyMQTT', | |
| port: 1883, | |
| //username: 'mqtt_user', | |
| //password: 'mqtt_password', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // Android view get bitmap | |
| private ImageBitmap getBitmapFromViewUsingCanvas(View view) { | |
| // Create a new Bitmap object with the desired width and height | |
| Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); | |
| // Create a new Canvas object using the Bitmap | |
| Canvas canvas = new Canvas(bitmap); | |
| // Draw the View into the Canvas |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ### ~/.bashrc | |
| ### set jre path (for example android studio jre) | |
| export JAVA_HOME="/home/user/android-studio/jbr" | |
| export PATH="$PATH:$JAVA_HOME/bin/" |
NewerOlder