public void onLoadFinished() { if (loggingManager.hasLoaderError()) { showErrorLoadingData(); return; } trackables = loggingManager.getTrackables(); possibleLogTypes = loggingManager.getPossibleLogTypes(); if (possibleLogTypes.isEmpty()) { showErrorLoadingData(); return; } if (!possibleLogTypes.contains(typeSelected)) { typeSelected = possibleLogTypes.get(0); setType(typeSelected); showToast(res.getString(R.string.info_log_type_changed)); } enablePostButton(true); initializeTrackablesAction(); updateTrackablesList(); showProgress(false); }
@Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState, R.layout.logcache_activity); // Get parameters from intent and basic cache information from database final Bundle extras = getIntent().getExtras(); if (extras != null) { cacheid = extras.getString(EXTRAS_ID); geocode = extras.getString(EXTRAS_GEOCODE); } if ((StringUtils.isBlank(cacheid)) && StringUtils.isNotBlank(geocode)) { cacheid = cgData.getCacheidForGeocode(geocode); } if (StringUtils.isBlank(geocode) && StringUtils.isNotBlank(cacheid)) { geocode = cgData.getGeocodeForGuid(cacheid); } cache = cgData.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); possibleLogTypes = cache.getPossibleLogTypes(); if (StringUtils.isNotBlank(cache.getName())) { setTitle(res.getString(R.string.log_new_log) + ": " + cache.getName()); } else { setTitle(res.getString(R.string.log_new_log) + ": " + cache.getGeocode()); } // Get ids for later use postButton = (Button) findViewById(R.id.post); tweetBox = (LinearLayout) findViewById(R.id.tweet_box); tweetCheck = (CheckBox) findViewById(R.id.tweet); logPasswordBox = (LinearLayout) findViewById(R.id.log_password_box); // initialize with default values setDefaultValues(); // Restore previous state if (savedInstanceState != null) { rating = savedInstanceState.getDouble(SAVED_STATE_RATING); typeSelected = LogType.getById(savedInstanceState.getInt(SAVED_STATE_TYPE)); date.setTimeInMillis(savedInstanceState.getLong(SAVED_STATE_DATE)); imageCaption = savedInstanceState.getString(SAVED_STATE_IMAGE_CAPTION); imageDescription = savedInstanceState.getString(SAVED_STATE_IMAGE_DESCRIPTION); imageUri = Uri.parse(savedInstanceState.getString(SAVED_STATE_IMAGE_URI)); } else { // If log had been previously saved, load it now, otherwise initialize signature as needed final LogEntry log = cgData.loadLogOffline(geocode); if (log != null) { typeSelected = log.type; date.setTime(new Date(log.date)); text = log.log; } else if (StringUtils.isNotBlank(Settings.getSignature()) && Settings.isAutoInsertSignature() && StringUtils.isBlank(currentLogText())) { insertIntoLog( LogTemplateProvider.applyTemplates(Settings.getSignature(), new LogContext(cache)), false); } } updatePostButtonText(); updateImageButton(); enablePostButton(false); final Button typeButton = (Button) findViewById(R.id.type); typeButton.setText(typeSelected.getL10n()); typeButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { selectLogType(); } }); final Button dateButton = (Button) findViewById(R.id.date); setDate(date); dateButton.setOnClickListener(new DateListener()); final EditText logView = (EditText) findViewById(R.id.log); if (StringUtils.isBlank(currentLogText()) && StringUtils.isNotBlank(text)) { logView.setText(text); } tweetCheck.setChecked(true); updateTweetBox(typeSelected); updateLogPasswordBox(typeSelected); final Button imageButton = (Button) findViewById(R.id.image_btn); imageButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View view) { selectImage(); } }); final Button saveButton = (Button) findViewById(R.id.save); saveButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { saveLog(true); } }); final Button clearButton = (Button) findViewById(R.id.clear); clearButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { clearLog(); } }); loggingManager = cache.getLoggingManager(this); loggingManager.init(); }
@Override public void onCreate(final Bundle savedInstanceState) { onCreate(savedInstanceState, R.layout.logcache_activity); // Get parameters from intent and basic cache information from database final Bundle extras = getIntent().getExtras(); if (extras != null) { geocode = extras.getString(Intents.EXTRA_GEOCODE); if (StringUtils.isBlank(geocode)) { final String cacheid = extras.getString(Intents.EXTRA_ID); if (StringUtils.isNotBlank(cacheid)) { geocode = DataStore.getGeocodeForGuid(cacheid); } } } cache = DataStore.loadCache(geocode, LoadFlags.LOAD_CACHE_OR_DB); invalidateOptionsMenuCompatible(); possibleLogTypes = cache.getPossibleLogTypes(); if (StringUtils.isNotBlank(cache.getName())) { setTitle(res.getString(R.string.log_new_log) + ": " + cache.getName()); } else { setTitle(res.getString(R.string.log_new_log) + ": " + cache.getGeocode()); } initializeRatingBar(); // initialize with default values setDefaultValues(); // Restore previous state if (savedInstanceState != null) { rating = savedInstanceState.getFloat(SAVED_STATE_RATING); typeSelected = LogType.getById(savedInstanceState.getInt(SAVED_STATE_TYPE)); date.setTimeInMillis(savedInstanceState.getLong(SAVED_STATE_DATE)); image = savedInstanceState.getParcelable(SAVED_STATE_IMAGE); premFavPoints = savedInstanceState.getInt(SAVED_STATE_FAVPOINTS); } else { // If log had been previously saved, load it now, otherwise initialize signature as needed loadLogFromDatabase(); } if (image == null) { image = Image.NONE; } enablePostButton(false); final Button typeButton = ButterKnife.findById(this, R.id.type); typeButton.setText(typeSelected.getL10n()); typeButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(final View view) { selectLogType(); } }); final Button dateButton = ButterKnife.findById(this, R.id.date); setDate(date); dateButton.setOnClickListener(new DateListener()); if (StringUtils.isBlank(currentLogText()) && StringUtils.isNotBlank(text)) { setLogText(); } tweetCheck.setChecked(true); updateTweetBox(typeSelected); updateLogPasswordBox(typeSelected); loggingManager = cache.getLoggingManager(this); loggingManager.init(); // Load Generic Trackables AppObservable.bindActivity( this, // Obtain the actives connectors Observable.from(ConnectorFactory.getLoggableGenericTrackablesConnectors()) .flatMap( new Func1<TrackableConnector, Observable<TrackableLog>>() { @Override public Observable<TrackableLog> call( final TrackableConnector trackableConnector) { return Observable.defer( new Func0<Observable<TrackableLog>>() { @Override public Observable<TrackableLog> call() { return trackableConnector.trackableLogInventory(); } }) .subscribeOn(AndroidRxUtils.networkScheduler); } }) .toList()) .subscribe( new Action1<List<TrackableLog>>() { @Override public void call(final List<TrackableLog> trackableLogs) { // Store trackables trackables.addAll(trackableLogs); // Update the UI initializeTrackablesAction(); updateTrackablesList(); } }); requestKeyboardForLogging(); }