private String getFormattedCoordinates() { String lat = earthWallpaper.getWallpaperLatitude(); String lon = earthWallpaper.getWallpaperLongitude(); if (lat == null) lat = getResources().getString(R.string.details_unknown); if (lon == null) lat = getResources().getString(R.string.details_unknown); return "Lat. " + lat + " | Long. " + lon; }
@Override protected EarthWallpaper doInBackground(Void... params) { Gson gson = new Gson(); OkHttpClient okHttpClient = new OkHttpClient(); String id; String requestUrl; if (useWallId == null) { id = IdUtils.getRandomId(); } else { id = useWallId; } requestUrl = ApiUtils.getApiUrl(id); try { Request request = new Request.Builder().url(requestUrl).build(); Response response = okHttpClient.newCall(request).execute(); if (!response.isSuccessful()) return null; EarthWallpaper wallpaper = gson.fromJson(response.body().charStream(), EarthWallpaper.class); if (wallpaper != null && wallpaper.getWallpaperId().equals(id)) return wallpaper; } catch (IOException io) { Log.d("AsyncLoader", "IOError: " + io.getLocalizedMessage()); } return null; }
private void onEarthViewShare() { Intent shareIntent = new Intent(Intent.ACTION_SEND); shareIntent.setType("text/plain"); shareIntent.putExtra( Intent.EXTRA_TEXT, getResources().getString(R.string.item_share_title) + earthWallpaper.getShareUrl()); shareIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.item_share_title); startActivity(Intent.createChooser(shareIntent, getString(R.string.item_share_via))); }
private void onEarthViewShow() { Intent browserIntent = new Intent(Intent.ACTION_VIEW); browserIntent.setData(Uri.parse(earthWallpaper.getShareUrl())); startActivity(Intent.createChooser(browserIntent, getString(R.string.item_open_via))); }
@Override protected void onCreate(Bundle savedInstanceState) { LayoutInflaterCompat.setFactory(getLayoutInflater(), new IconicsLayoutInflater(getDelegate())); super.onCreate(savedInstanceState); Intent data = getIntent(); earthWallpaper = (EarthWallpaper) data.getExtras().getSerializable(WALLPAPER_OBJECT); // setTheme(R.style.AppTheme_NoActionBar); if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) { setTheme(R.style.AppTheme_NoActionBar); } setContentView(R.layout.activity_wallpaper); downloadDialog = new BaseDialog(this).getDownloadDialog(); if (!downloadDir.exists()) { boolean created = downloadDir.mkdir(); Log.d("WallpaperActivity", "Download directory didn't exist : creation -> " + created); } if (!Preferences.exists()) Preferences.init(this); downloadDir = new File(Preferences.getInstance().getWallpaperDownloadDirectory()); rootLayout = (CoordinatorLayout) findViewById(R.id.wallpaper_coordinator_root); collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.wallpaper_collapsing_toolbar); // collapsingToolbarLayout.setExpandedTitleTextAppearance(android.R.style.TextAppearance_DeviceDefault_Medium); collapsingToolbarLayout.setExpandedTitleTextAppearance(R.style.FullscreenTextPreview); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_details_view); toolbar.setTitle(earthWallpaper.getFormattedWallpaperTitle()); setSupportActionBar(toolbar); if (getSupportActionBar() != null) getSupportActionBar().setDisplayHomeAsUpEnabled(true); // set and load the appbar image appBarImage = (ImageView) findViewById(R.id.wall_preview); Picasso.with(this).load(earthWallpaper.getWallThumbUrl()).into(appBarImage); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { appBarImage.setTransitionName(data.getExtras().getString(IMAGE_TRANSITION_NAME)); // toolbar.setTransitionName(data.getExtras().getString(TEXT_TRANSITION_NAME)); } // assigning the information to the views cityTextView = (TextView) findViewById(R.id.details_location_text); if (earthWallpaper.getWallpaperRegion() == null) { cityTextView.setText(R.string.details_unknown); } else { cityTextView.setText(earthWallpaper.getWallpaperRegion()); } countryTextView = (TextView) findViewById(R.id.details_country_text); if (earthWallpaper.getWallpaperCountry() == null) { countryTextView.setText(R.string.details_unknown); } else { countryTextView.setText(earthWallpaper.getWallpaperCountry()); } coordinatesTextView = (TextView) findViewById(R.id.details_coords_text); coordinatesTextView.setText(getFormattedCoordinates()); // setting the google maps layout stuff googleMapsLayout = (RelativeLayout) findViewById(R.id.gmaps_nav_layout); googleMapsLayout.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Intent googleMaps = new Intent(Intent.ACTION_VIEW, Uri.parse(earthWallpaper.getGoogleMapsUrl())); startActivity(googleMaps); } }); googleMapsHintTextView = (TextView) findViewById(R.id.details_gmaps_link_icon_text); googleMapsHintTextView.setText(earthWallpaper.getGoogleMapsTitle()); final int[] c = {0}; attributionLayout = (RelativeLayout) findViewById(R.id.details_attribution_layout); attributionLayout.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { c[0]++; if (c[0] >= 20) unlock = true; } }); attributionTextView = (TextView) findViewById(R.id.details_attribution_text); if (earthWallpaper.getWallpaperAttribution() == null) { attributionTextView.setText(R.string.details_unknown); } else { attributionTextView.setText(earthWallpaper.getWallpaperAttribution()); } shareLinkLayout = (RelativeLayout) findViewById(R.id.share_link_layout); shareLinkLayout.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { onEarthViewShow(); } }); shareLinkTextView = (TextView) findViewById(R.id.details_share_link_text); shareLinkTextView.setText(earthWallpaper.getShareUrl()); // inflating the fab menu and it's entries floatingActionMenu = (FloatingActionMenu) findViewById(R.id.details_fab_menu); floatingActionMenu.setClosedOnTouchOutside(true); floatingActionShare = (FloatingActionButton) findViewById(R.id.fab_item_share); floatingActionShare.setImageDrawable( new IconicsDrawable(this) .icon(CommunityMaterial.Icon.cmd_share_variant) .color(Color.WHITE) .sizeDp(16)); floatingActionShare.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { onEarthViewShare(); if (floatingActionMenu.isOpened()) floatingActionMenu.close(true); } }); floatingActionApply = (FloatingActionButton) findViewById(R.id.fab_item_apply); floatingActionApply.setImageDrawable( new IconicsDrawable(this) .icon(CommunityMaterial.Icon.cmd_check) .color(Color.WHITE) .sizeDp(16)); floatingActionApply.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { // Snackbar.make(rootLayout, "Applying is coming soon!", Snackbar.LENGTH_SHORT).show(); onSetAsWallpaper(); if (floatingActionMenu.isOpened()) floatingActionMenu.close(true); } }); floatingActionArchive = (FloatingActionButton) findViewById(R.id.fab_item_archive); if (Preferences.getInstance().isFavorite(earthWallpaper)) { floatingActionArchive.setImageDrawable( new IconicsDrawable(this) .icon(CommunityMaterial.Icon.cmd_heart_outline) .color(Color.WHITE) .sizeDp(16)); floatingActionArchive.setLabelText( getResources().getString(R.string.fab_menu_item_remove_archive)); } else { floatingActionArchive.setImageDrawable( new IconicsDrawable(this) .icon(CommunityMaterial.Icon.cmd_heart) .color(Color.WHITE) .sizeDp(16)); floatingActionArchive.setLabelText(getResources().getString(R.string.fab_menu_item_archive)); } floatingActionArchive.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (floatingActionMenu.isOpened()) floatingActionMenu.close(false); if (Preferences.getInstance().isFavorite(earthWallpaper)) { Preferences.getInstance().removeFavorite(earthWallpaper); floatingActionArchive.setImageDrawable( new IconicsDrawable(WallpaperActivityPre.this) .icon(CommunityMaterial.Icon.cmd_heart) .color(Color.WHITE) .sizeDp(16)); floatingActionArchive.setLabelText( getResources().getString(R.string.fab_menu_item_archive)); Snackbar.make(rootLayout, R.string.fab_snack_bar_fav_removed, Snackbar.LENGTH_SHORT) .setAction( R.string.fab_snack_bar_fav_action, new View.OnClickListener() { @Override public void onClick(View v) {} }) .show(); } else { Preferences.getInstance().addFavorite(earthWallpaper); floatingActionArchive.setImageDrawable( new IconicsDrawable(WallpaperActivityPre.this) .icon(CommunityMaterial.Icon.cmd_heart_outline) .color(Color.WHITE) .sizeDp(16)); floatingActionArchive.setLabelText( getResources().getString(R.string.fab_menu_item_remove_archive)); Snackbar.make(rootLayout, R.string.fab_snack_bar_fav_added, Snackbar.LENGTH_SHORT) .setAction( R.string.fab_snack_bar_fav_action, new View.OnClickListener() { @Override public void onClick(View v) {} }) .show(); } } }); floatingActionDownload = (FloatingActionButton) findViewById(R.id.fab_item_download); floatingActionDownload.setImageDrawable( new IconicsDrawable(this) .icon(CommunityMaterial.Icon.cmd_download) .color(Color.WHITE) .sizeDp(16)); floatingActionDownload.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { if (floatingActionMenu.isOpened()) floatingActionMenu.close(true); if (Preferences.getInstance().canWriteExternalStorage()) { new DownloadWallpaperTask( WallpaperActivityPre.this, Preferences.getInstance().getWallpaperDownloadDir(), earthWallpaper) .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, unlock); } else { Preferences.getInstance() .requestExternalStoragePermission( WallpaperActivityPre.this, WallpaperActivityPre.this, false); } } }); // EarthView.withGoogle().getEarthWallpaper(earthWallpaper.getWallpaperId(), this); new DownloadHighResImage(this, earthWallpaper, this) .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); setTypefaces(); }