Skip to content

Instantly share code, notes, and snippets.

View IlyaEremin's full-sized avatar
🤡
SEVERE RECTAL PAIN

Ilia Eremin IlyaEremin

🤡
SEVERE RECTAL PAIN
  • Popuga Inc
  • Poland
View GitHub Profile
@IlyaEremin
IlyaEremin / dagger.java
Created August 28, 2015 12:33
dagger cache
@Provides @CacheDir File provideCacheDir(Context context) {
File f = Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())
? context.getExternalCacheDir()
: context.getCacheDir();
if (f != null) {
f.mkdirs();
}
return f;
}
@IlyaEremin
IlyaEremin / gist:61ac2ee91207a9eec9db
Last active August 29, 2015 14:01
Android test task

##Тестовое задание на вакансию Android-разработчика

###Написать клиент для vk.com.

##Требования:

  • Экран авторизации
  • Экран с новостной лентой пользователя (например, для каждого отдельного поста отображать аватар автора, дату и текст)
  • Экран с деталями поста (например, отображать, если есть, прикрепленные картинки и количество лайков)
  • Реализовать механизм обновления (Pull-to-Refresh или кнопка)
@IlyaEremin
IlyaEremin / gist:f8f1503affecfdb07043
Last active August 29, 2015 14:02
universalAdapter
package ru.sunsoft.freeme.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import org.jetbrains.annotations.NotNull;
@IlyaEremin
IlyaEremin / gist:c3c317ee1041969ce1cd
Last active August 29, 2015 14:04
enums from effective java
public class Constants {
public static enum MembershipType {
PATIENT(1, "Patient"), COMPANY(2, "Company"), PROVIDER(3, "Provider");
public final int code;
public final String name;
MembershipType(int codeOfType, String name) {
this.code = codeOfType;
@IlyaEremin
IlyaEremin / gist:52108a5f487e791eb71f
Created July 31, 2014 05:19
static factory in fragments
public class EditContactFragment extends Fragment {
// ...
public static EditContactFragment newInstance(Contact contact){
EditContactFragment fragment = new EditContactFragment();
Bundle contactInfo = new Bundle();
contactInfo.putSerializable(Constants.BUNDLE_CONTACT, contact);
fragment.setArguments(contactInfo);
return fragment;
}
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
private Solo solo;
public MainActivityTest() {
super(MainActivity.class);
}
public void setUp() throws Exception {
@Config(emulateSdk = 18)
@RunWith(RobolectricTestRunner.class)
public class FileIconHelperTest {
@Test
public void testGetExtension() throws Exception {
assertThat(getExtension("image/jpeg")).isEqualTo("jpg");
assertThat(getExtension("video/avi")).isEqualTo("avi");
assertThat(getExtension("superpuper/file")).isEqualTo("");
}
@IlyaEremin
IlyaEremin / gist:36c958422113e0734b4e
Created July 31, 2014 07:35
gradle.build file example
apply plugin: 'com.android.application'
apply plugin: 'robolectric'
dependencies {
compile 'com.android.support:support-v4:20.+'
compile 'com.squareup.picasso:picasso:2.3.2'
compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:+'
compile 'com.google.zxing:core:2.0'
compile 'com.actionbarsherlock:actionbarsherlock:4.+@aar'
package com.aclgrc.fragments;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.aclgrc.adapters.ObjectivesArrayAdapter;
public List<SomeObject> someFunc(List<SomeObject> someObjs){
List<SomeObj> objects = new List<SomeObject>();
objects = someObjs;
for(SomeObj obj : objects){
obj.field1 = obj.field1;
obj.field2 = obj.field2;
}
return objects;
}