Skip to content

Instantly share code, notes, and snippets.

@CarolusX74
Last active April 1, 2020 22:38
Show Gist options
  • Save CarolusX74/e6afa7e78ef2b654036c75e8b66f73d7 to your computer and use it in GitHub Desktop.
Save CarolusX74/e6afa7e78ef2b654036c75e8b66f73d7 to your computer and use it in GitHub Desktop.
Errores custom para loguear en firebase
package com.galicia.galiciaoffice.login.view.activity;
public abstract class GOLoginActivity extends ServiceActivity<UserData, LoginController<UserData>> implements UserController.UserCompaniesListener {
private UserController userController;
private SessionContextController sessionContextController;
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onChildCreate(@Nullable Bundle savedInstanceState) {
super.onChildCreate(savedInstanceState);
setErrorType(ServiceScreenManager.ErrorType.DIALOG);
Crashlytics.log("ERROR TEST ERROR ALUMINIO");
//Crashlytics.setString("last_test_action", "TEST_99_"+ Calendar.getInstance().getTime().getTime());
//Crashlytics.setString("variable_de_prueba", "TEST_99_"+ Calendar.getInstance().getTime().getTime());
//Crashlytics.setBool("buleano_ja",true);
//Crashlytics.setUserEmail("carlos.torres@fluxit.com.ar");
//Crashlytics.setUserIdentifier(PreferenceUtils.getDeviceId(getApplicationContext()));
Crashlytics.log(Log.DEBUG, "tagtest", "messagetestABC");
//Crashlytics.log(Log.WARN, "tagtest", "messagetestBBC");
//Crashlytics.log(Log.ERROR, "tagtest", "messagetestCBC");
//Crashlytics.log("messagetest99");
logCustomErrorToCrashlytics("ERROR DE PRUEBA 3","onChildCreate()","Error mesage TEST 3","0003",LoggedUser.getInstance(),this);
//Crashlytics.getInstance().crash();
//int testError = 1;
//testError = testError/0;
}
public static class CustomCrashlytics{
static class Keys{
static String KEY_STRING_ERROR_TITLE = "key_s_error_title";
static String KEY_STRING_ERROR_MESSAGE = "key_s_error_message";
static String KEY_STRING_ERROR_CODE = "key_s_error_code";
static String KEY_STRING_ERROR_METHOD= "key_s_method";
static String KEY_STRING_ERROR_TIME_MILIS = "key_s_time_milis";
static String KEY_STRING_ERROR_DEVICE_ID = "key_s_device_id";
static String KEY_BOOLEAN_ERROR_USER_LOGGED = "key_b_is_user_logged";
static String KEY_STRING_ERROR_USER_ID = "key_s_user_id";
static String KEY_STRING_ERROR_USER_CUIT = "key_s_user_cuit";
static String KEY_STRING_ERROR_USER_NAME = "key_s_user_name";
static String KEY_STRING_ERROR_USER_STATUS = "key_s_user_status";
static String KEY_STRING_ERROR_USER_TOKEN_ENABLED = "key_s_user_token_enabled";
}
}
public void logCustomErrorToCrashlytics(
@NonNull String errorTile,
@Nullable String methodName,
@Nullable String errorMessage,
@Nullable String errorCode,
@Nullable LoggedUser loggedUser,
@Nullable Context context) {
///------------SET ERROR PROPERTIES---------------------------------------------------------
//Configurando variables
//Set error title (String)
Crashlytics
.setString(CustomCrashlytics.Keys.KEY_STRING_ERROR_TITLE, errorTile);
//Set error message (String)
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_MESSAGE,
(errorMessage != null && !errorMessage.isEmpty()) ? errorMessage : "Error Message Not Set");
//Set error code
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_CODE,
(errorCode != null && !errorCode.isEmpty()) ? errorCode : "Error Code Not Set");
//Set method name (String)
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_METHOD,
(methodName != null && !methodName.isEmpty()) ? methodName : "Method Not Set"); //Nombre del error
//Set timemillis [date] (Sring)
Crashlytics
.setString(CustomCrashlytics.Keys.KEY_STRING_ERROR_TIME_MILIS
, String.valueOf(Calendar.getInstance().getTime().getTime()));
//Set timemillis [date] (Sring)
//Set device id
if (context != null){
Crashlytics
.setString(CustomCrashlytics.Keys.KEY_STRING_ERROR_DEVICE_ID
, String.valueOf(PreferenceUtils.getDeviceId(context)));
}
//---------- SET USER PROPERTIES -----------------------------------------------------------
if (loggedUser != null){
//Set is logged user (Boolean)
Crashlytics
.setBool(CustomCrashlytics.Keys.KEY_BOOLEAN_ERROR_USER_LOGGED, loggedUser.isUserLogged());
//Set user CUIT (String)
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_USER_ID,
loggedUser.getCurrentCompany().getUserId());
//Set user CUIT (String)
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_USER_CUIT,
loggedUser.getCurrentCompany().getCuit());
// Set user Name (String)
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_USER_NAME,
loggedUser.getCurrentCompany().getName());
// Set user Status (String)
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_USER_STATUS,
loggedUser.getCurrentCompany().getStatus());
// Set user Name (String)
Crashlytics
.setString(
CustomCrashlytics.Keys.KEY_STRING_ERROR_USER_TOKEN_ENABLED,
loggedUser.getCurrentCompany().getTokenEnabled());
//ANOTHER LEVEL SETTINGS-------------------------------------------------------------------
//UserIdentifier
Crashlytics
.setUserIdentifier(loggedUser.getCurrentCompany().getUserId());
//UserName
Crashlytics.
setUserName(loggedUser.getCurrentCompany().getName());
}
//User email
/*Crashlytics
.setUserEmail("not@set.com");*/
//-------------ENVIANDO EL ERROR A CRASHLITYCS
Class exceptionClazz = RuntimeException.class;
try {
Log.w("TORRANCIO","MENSAJE ERROR ENVIANDO");
Throwable throwable = (Throwable)exceptionClazz.getConstructor(String.class)
.newInstance(String.valueOf(errorTile));
Crashlytics.log("messagetestXBC");
Crashlytics.logException(throwable); //Aquí pasa la magia
Log.w("TORRANCIO","MENSAJE ERROR ENVIADO");
} catch (Exception var2) {
Log.e("TORRANCIO", "Hubo un problema al registrar el error con crashlytics???", var2);
}
}
//..............sigue la clase
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment