Skip to content

Instantly share code, notes, and snippets.

protocol ImageDelegate{
func onImageReceived(_ picker: ImagePickerController, didReceiveValue value: UIImage)
func onCancel(_ picker: ImagePickerController)
}
class TakePictureController : UIViewController, ImageDelegate{
func takePicture(){
let imagePicker = ImagePickerController()
imagePicker.delegate = self//self conforms to ImageDelegate protocol
//offline-first usecase for api requests
//one you have to do is to include rxjava to your project,
//some Api(could be Retrofit based),
//some Preferences(could SharedPreferences based / some database),
//some SerializerUtil (could be gson, moshi)
import com.google.gson.JsonSyntaxException;
import com.google.gson.annotations.SerializedName;
import io.reactivex.Observable;
import io.reactivex.functions.Consumer;
//...
secondFeedAdatper = new SecondFeedAdatper();
secondFeedAdatper.setClickListener(new SecondFeedAdatper.ClickListener() {
@Override
public void onArticleClick(Article article) {
if (article.getLink() != null && !article.getLink().isEmpty()) {
if (getActivity() instanceof LockscreenActivity) {
((LockscreenActivity) getActivity()).openURL(article.getLink());
}
}
Parser parser = new Parser();
parser.execute(UrlConstant.SECOND_FEED_URL);
parser.onFinish(new OnTaskCompleted() {
@Override
public void onTaskCompleted(@NotNull final List<Article> list) {
final List<Article> filtered = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Article article = list.get(i);
@Marchuck
Marchuck / AlertDialog.kt
Created October 11, 2019 11:18
AlertDialog.kt
fun Fragment.createAlertDialog() =
AlertDialog.Builder(ContextThemeWrapper(context, R.style.custom_dialog_style))
data class DialogAction(
var text: String,
var onClick: (() -> Unit)? = null
)
@Marchuck
Marchuck / ExampleTest.kt
Created October 15, 2019 07:32
testing LiveData
ExampleTest{
@BeforeEach
fun setUp() {
viewModel = SomeViewModel(...)
filtersObserver = viewModel.filtersLiveData.observeEvents()
}
@Test fun `test 1`(){
val expected = arrayListOf<Any>()
# Built application files
*.apk
*.ap_
*.aab
# Files for the ART/Dalvik VM
*.dex
# Java class files
@Marchuck
Marchuck / MyViewModel.kt
Created November 17, 2019 19:40
MyViewModel.kt
class MyViewModel @Inject constructor(private val dependency1: Dependency1,
private val dependency2: Dependency2,
...
private val id: Int)//hold on Dagger! I will provide this on my own
{ ... }
@Marchuck
Marchuck / MyViewModel.kt
Created November 17, 2019 19:57
setter example
class MyViewModel @Inject constructor(private val dependency1: Dependency1,
private val dependency2: Dependency2,
...)
{
private var id: Int? = null
fun setupId(id: Int){
this.id = id
}
...
@Marchuck
Marchuck / SomeFragment.kt
Created November 17, 2019 20:30
SomeFragment
class SomeFragment: Fragment(){
@Inject factory: AssistedViewModel.Factory
override fun onActivityCreated(savedInstanceState: Bundle?){
super.onActivityCreated(savedInstanceState)
val viewModel = factory.create(301)
...
}