@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.wallchanger); mProgressBar = (ProgressBar) findViewById(R.id.progress_progress); mProgressPanel = findViewById(R.id.progress_progress); mProgressLabel = (TextView) findViewById(R.id.progress_label); mProgressCancel = (Button) findViewById(R.id.progress_cancel); if (isGTV()) { showToast("Welcome, GoogleTV user!"); } if (true) getActionBar().hide(); else findViewById(R.id.title_frame).setVisibility(View.GONE); MediaUtils.init(getApplicationContext()); try { if (!MediaUtils.writeFile("pewp", new byte[] {}, true)) Logger.LogWarning("Unable to write to pewp"); else Logger.LogInfo("Wrote to pewp!"); } catch (IOException fnfe) { Logger.LogError("Unable to write to pewp!", fnfe); } mUseMultiplePanes = (null != findViewById(R.id.detail_container)); if (null == savedInstanceState) { FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); mFragHash.put("list", new ProfileMakerList()); ft.replace(R.id.list, mFragHash.get("list"), "list"); ft.commit(); ShowDetailFragment(new PreviewFragment(), "preview"); ShowPreview(((BitmapDrawable) getWallpaper()).getBitmap()); } }
private Bitmap downloadBitmap(String url) { Bitmap ret = null; InputStream s = null; try { if (url.startsWith("/")) { ret = MediaUtils.readFileBitmap(url, true); if (ret != null) return ret; } Logger.LogDebug("Trying to download " + url); HttpURLConnection uc = (HttpURLConnection) new URL(url).openConnection(); uc.setConnectTimeout(15000); uc.connect(); publishProgress(0); if (uc.getResponseCode() >= 400) throw new IOException(uc.getResponseCode() + " on " + url); Integer length = uc.getContentLength(); Logger.LogInfo("Response received. " + length + " bytes."); publishProgress(-2); s = new BufferedInputStream(uc.getInputStream(), WallChanger.DOWNLOAD_CHUNK_SIZE); ByteArrayBuffer bab = new ByteArrayBuffer(length <= 0 ? 32 : length); byte[] b = new byte[WallChanger.DOWNLOAD_CHUNK_SIZE]; int read = 0; int position = 0; while ((read = s.read(b, 0, WallChanger.DOWNLOAD_CHUNK_SIZE)) > 0) { position += read; bab.append(b, 0, read); publishProgress(position, length > position ? length : position + s.available()); } b = bab.toByteArray(); MediaUtils.writeFile(url.substring(url.lastIndexOf("/") + 1), b, true); ret = BitmapFactory.decodeByteArray(b, 0, b.length); } catch (IOException ex) { Logger.LogError("Couldn't download base image. " + url, ex); } finally { try { if (s != null) s.close(); } catch (IOException ex) { Logger.LogError("Error closing stream while downloading base image.", ex); } } return ret; }
public void setWeatherLocation(String location) { if (location.equals("")) return; Logger.LogInfo("New Location: " + location); mWeatherLocation = location; /// TODO: Fix Weather location update /* if(mBtnWeatherLocation != null) { mBtnWeatherLocation.setText(location); mBtnWeatherLocation.setTextColor(Color.BLACK); } */ }
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_settings: Logger.LogInfo("Settings menu selected"); startActivityForResult( new Intent(getApplicationContext(), Settings.class), WallChanger.REQ_SETTINGS); break; case R.id.menu_help: Logger.LogInfo("Help menu selected"); startActivity(new Intent(getApplicationContext(), Help.class)); break; case R.id.menu_feedback: Logger.LogInfo("Feedback menu selected"); ShowDetailFragment(new Feedback(), "feedback"); // startActivity(new Intent(getApplicationContext(), Feedback.class)); break; default: if (item.getTitle().equals("Old UI")) startActivity(new Intent(getApplicationContext(), ProfileMaker.class)); break; } return super.onOptionsItemSelected(item); }
public Boolean setHomeWallpaper(Bitmap bmp) { try { setWallpaper(bmp); showToast(getResourceString(R.string.s_updated)); Intent startMain = new Intent(Intent.ACTION_MAIN); startMain.addCategory(Intent.CATEGORY_HOME); startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(startMain); return true; } catch (Exception ex) { Logger.LogError("Error setting Wallpaper", ex); showToast(getResourceString(R.string.s_invalid)); return false; } }
public void setWeatherPosition(int index) { Logger.LogInfo("New Position: " + mWeatherPosition); mWeatherPosition = index; /* if(mBtnWeatherPosition != null) { Bitmap bmp = null; if(mWeatherPosition == 4) bmp = BitmapFactory.decodeResource(mResources, R.drawable.arrow_green_center); else bmp = ImageUtilities.rotateImage(BitmapFactory.decodeResource(mResources, R.drawable.arrow_green), SelectPosition.getDegreesFromIndex(mWeatherPosition)); if(bmp != null) { LayerDrawable ld = new LayerDrawable(new Drawable[]{mResources.getDrawable(android.R.drawable.btn_default) , new BitmapDrawable(bmp)}); mBtnWeatherPosition.setBackgroundDrawable(ld); } } */ }
public void ShowDetailFragment(Fragment frag, String tag) { Boolean bExists = false; if (mFragHash.containsKey(tag)) bExists = true; FragmentManager fm = getSupportFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); int id = R.id.detail_container; if (!mUseMultiplePanes) id = R.id.list; if (!mFragHash.containsValue(frag)) ft.replace(id, frag, tag); else { try { ft.show(frag); } catch (IllegalStateException ise) { Logger.LogWarning("Unable to show fragment.", ise); ft.replace(id, frag, tag); } } // ft.addToBackStack(null); mFragHash.put(tag, frag); ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN); ft.commit(); }