Skip to content

Instantly share code, notes, and snippets.

View dynoChris's full-sized avatar
🎯
Focusing

dyno_chris dynoChris

🎯
Focusing
View GitHub Profile
@dynoChris
dynoChris / gist:af1cc0aee93ac0a214be215097f527c7
Created December 2, 2019 14:51
How to play system sounds in Android programmatically
ToneGenerator toneGen1 = new ToneGenerator(AudioManager.STREAM_MUSIC, 100);
toneGen1.startTone(ToneGenerator.TONE_CDMA_CALL_SIGNAL_ISDN_INTERGROUP,5000);
@dynoChris
dynoChris / RetrofitModule
Created November 22, 2019 22:56
How to use logging interceptor in retrofit android
HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://backend.example.com")
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
@dynoChris
dynoChris / proguard-rules.pro
Created October 4, 2019 09:54
Proguard rules fo Instagram4Android library
#okhttp3
# JSR 305 annotations are for embedding nullability information.
-dontwarn javax.annotation.**
# A resource is loaded with a relative path so the package of this class must be preserved.
-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java.
-dontwarn org.codehaus.mojo.animal_sniffer.*
# OkHttp platform used only on JVM and when Conscrypt dependency is available.
-dontwarn okhttp3.internal.platform.ConscryptPlatform
@dynoChris
dynoChris / Utils.java
Created September 23, 2019 09:03
How to convert date
public static String modifyDate(String incomeDate) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse(incomeDate);
SimpleDateFormat sdfOut = new SimpleDateFormat("LLL dd, yyyy");
String dateAsString = sdfOut.format(d);
return dateAsString;
} catch (Exception exc) {
exc.printStackTrace();
}
@dynoChris
dynoChris / MainActivity.java
Created September 20, 2019 15:41
How to gzip string in java. How to compress string to byte array.
private byte[] compress(String data) throws IOException {
ByteArrayOutputStream bos = new ByteArrayOutputStream(data.length());
GZIPOutputStream gzip = new GZIPOutputStream(bos);
gzip.write(data.getBytes());
gzip.close();
byte[] compressed = bos.toByteArray();
bos.close();
return compressed;
}
@dynoChris
dynoChris / YourTypeConverterForPersistList.java
Created September 11, 2019 11:51
How to persist object to room database in Android. How to persist list to room database in Android.
//Saving List.
//If you want persist List you need implement TypeConverter
//List<User> to json as string; json as string to List<User>.
public class YourTypeConverterForPersistList {
@TypeConverter
public String listUsersToJson(List<User> users) {
Gson gson = new Gson();
Type type = new TypeToken<List<User>>() {}.getType();
String json = gson.toJson(users, type);
@dynoChris
dynoChris / MainActivity.java
Last active May 9, 2019 09:33
How to restore fragment state in BottomNavigationView after switching
public class MainActivity extends AppCompatActivity {
//views
private Toolbar mToolbar;
private BottomNavigationView mBottomNavigationView;
//general vars
private HomeFragment mHomeFragment;
private VideosFragment mVideosFragment;
private HistoryFragment mHistoryFragment;
@dynoChris
dynoChris / MainActivity.java
Last active March 31, 2019 18:18
Android Lifecycle with fragment
03-31 21:07:56.453 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onAttach: fragment
03-31 21:07:56.453 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onCreate: fragment
03-31 21:07:56.517 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onCreateView: fragment
03-31 21:07:56.518 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onCreate:
03-31 21:07:56.519 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onActivityCreated: fragment
03-31 21:07:56.519 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onStart: fragment
03-31 21:07:56.519 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onStart:
03-31 21:07:56.520 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onResume:
03-31 21:07:56.520 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onResume: fragment
03-31 21:08:37.075 20548-20548/com.oliverstudio.androidlifecycler D/devptag: onPause: fragment
@dynoChris
dynoChris / MainActivity.java
Created March 6, 2019 00:02
How to implement GDPR (Consent Library) in Android
//1. add maven in allprojects
//maven {
// url "https://maven.google.com"
//}
//2. add implementation 'com.google.android.ads.consent:consent-library:1.0.6'
//then rest
public class MainActivity extends AppCompatActivity {
ConsentForm form;
@Override
protected void onCreate(Bundle savedInstanceState) {
@dynoChris
dynoChris / SomeClass.java
Last active February 19, 2019 21:17
How to read text file from Internal Storage in Android
String filePath = "/data/data/com.example.vadym.test1/filename.txt";
String all = "";
try {
BufferedReader br = new BufferedReader(new FileReader(filePath));
String strLine;
while ((strLine = br.readLine()) != null){
all = all + strLine;
}
Log.d(Utils.TAG, all);
} catch (IOException e) {