// ========================================================================== @Override protected void finalize() throws Throwable { try { NOTIFICATIONS.information("clean up ControllerSplashScreen", false); destroyCurrentThread(); } catch (Exception e) { NOTIFICATIONS.error("Unexpected error", e); } finally { super.finalize(); } } // end finalize
@Override protected void onHandleIntent(Intent intent) { Map<String, String> eventBody = new HashMap<>(); try { // get caller data Bundle iArgs = intent.getExtras(); // src String src = iArgs.getString(AppConstants.K.SRC.name()); eventBody.put(AppConstants.K.SRC.name(), src); // srcID String srcID = iArgs.getString(AppConstants.K.SRC_ID.name()); eventBody.put(AppConstants.K.SRC_ID.name(), srcID); String notifUID = iArgs.getString(AppConstants.K.NOTIF.name()); eventBody.put(AppConstants.K.NOTIF.name(), notifUID); if (StringUtils.isNotBlank(notifUID)) { // LOCAL UPDATE ArrayList<ContentProviderOperation> delOps = new ArrayList<>(); delOps.add( ContentProviderOperation.newDelete(SchemaNotifications.CONTENT_URI) .withSelection(SchemaNotifications.COLUMN_UID + "=?", new String[] {notifUID}) .build()); getContentResolver().applyBatch(AppConstants.API.CONTENT_AUTHORITY.getValue(), delOps); } else { return; } // REMOTE UPDATE String notifURI = StringUtils.join(new String[] {NOTIFICATIONS.getValue(), notifUID}, "/"); // body part of request Map<String, String> reqBody = new HashMap<>(); if (!Utils.isLoggedIn()) { // UNIQUE ID FOR THIS INSTALL reqBody.put(PARAMS.REF.getValue(), Utils.uniqueID()); } ReqSetBody req = new ReqSetBody(); req.setToken(Utils.getAppToken(false)); req.setCmd(PARAMS.COMMAND.getValue()); req.setBody(reqBody); // headers HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.setAccept(RestClient.INSTANCE.jsonMediaType()); HttpEntity<ReqSetBody> payloadEntity = new HttpEntity<>(req, headers); RestClient.INSTANCE.handle().exchange(notifURI, HttpMethod.POST, payloadEntity, Resp.class); } catch (Exception e) { // muted } finally { BusProvider.INSTANCE.getBus().post(new Events.SingleNotifsUPDATEEvent(eventBody)); } }
// ========================================================================== @Override public void destroyCurrentThread() { try { eventViewer = null; } catch (Exception e) { NOTIFICATIONS.error("Unexpected error", e); } }
// ========================================================================== @Override public void setupInterface() { try { ss.setVisible(true); loader(); ss.setVisible(false); } catch (Exception e) { NOTIFICATIONS.error("Imposible show splash screen", e); } } // end setupInterface
// ========================================================================== private void loader() throws Exception { ControllerLogin cl = null; try { new DAO().getAll("Collectors"); new DAO().getAll("Users"); cl = new ControllerLogin(); cl.setupInterface(); new Context().getInitialContext(); eventViewer = EventViewer.getInstance(); eventViewer.setVisible(false); } catch (Exception e) { NOTIFICATIONS.error("Somethig is wrong in loader,<br>-Please report to administrator", e); System.exit(0); } finally { eventViewer = null; cl = null; } } // end loader