Last active
April 1, 2020 22:38
-
-
Save CarolusX74/e6afa7e78ef2b654036c75e8b66f73d7 to your computer and use it in GitHub Desktop.
Errores custom para loguear en firebase
This file contains 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
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("[email protected]"); | |
//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("[email protected]");*/ | |
//-------------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