public static View createElementErrorView(ElementFailureException e) { final LinearLayout v = (LinearLayout) LayoutInflater.from(Utils.mainActivity).inflate(R.layout.element_failure, null, false); assert v != null; ((TextView) v.findViewById(R.id.element_failure_title)) .setText(e.getSourceClass() + " has failed:"); ((TextView) v.findViewById(R.id.element_failure_description)).setText(e.getMessage()); e.printStackTrace(); try { final View child = e.getSource().getView(); final LinearLayout section = (LinearLayout) child.getParent(); if (section != null) { final int position = section.indexOfChild(child); Synapse.handler.post( new Runnable() { @Override public void run() { section.removeView(child); section.addView(v, position); } }); return null; } } catch (Exception ignored) { } return v; }
private void selectTile(View v) { if (mSelectedTile != null) { mSelectedTile.setSelected(false); mSelectedTile = null; } mSelectedTile = v; v.setSelected(true); mSelectedIndex = mWallpapersView.indexOfChild(v); // TODO: Remove this once the accessibility framework and // services have better support for selection state. v.announceForAccessibility(getString(R.string.announce_selection, v.getContentDescription())); }
private void bind(final Condition condition, final View row) { if (condition == null) throw new IllegalArgumentException("condition must not be null"); final boolean enabled = condition.state == Condition.STATE_TRUE; final ConditionTag tag = row.getTag() != null ? (ConditionTag) row.getTag() : new ConditionTag(); row.setTag(tag); final boolean first = tag.rb == null; if (tag.rb == null) { tag.rb = (RadioButton) row.findViewById(android.R.id.checkbox); } tag.condition = condition; final Uri conditionId = getConditionId(tag.condition); if (DEBUG) Log.d( mTag, "bind i=" + mZenConditions.indexOfChild(row) + " first=" + first + " condition=" + conditionId); tag.rb.setEnabled(enabled); final boolean checked = (mSessionExitCondition != null || mAttachedZen != Global.ZEN_MODE_OFF) && (sameConditionId(mSessionExitCondition, tag.condition) || isCountdown(mSessionExitCondition) && isCountdown(tag.condition)); if (checked != tag.rb.isChecked()) { if (DEBUG) Log.d(mTag, "bind checked=" + checked + " condition=" + conditionId); tag.rb.setChecked(checked); } tag.rb.setOnCheckedChangeListener( new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (mExpanded && isChecked) { if (DEBUG) Log.d(mTag, "onCheckedChanged " + conditionId); final int N = getVisibleConditions(); for (int i = 0; i < N; i++) { final ConditionTag childTag = getConditionTagAt(i); if (childTag == null || childTag == tag) continue; childTag.rb.setChecked(false); } select(tag.condition); announceConditionSelection(tag); } } }); if (tag.lines == null) { tag.lines = row.findViewById(android.R.id.content); } if (tag.line1 == null) { tag.line1 = (TextView) row.findViewById(android.R.id.text1); } if (tag.line2 == null) { tag.line2 = (TextView) row.findViewById(android.R.id.text2); } final String line1 = !TextUtils.isEmpty(condition.line1) ? condition.line1 : condition.summary; final String line2 = condition.line2; tag.line1.setText(line1); if (TextUtils.isEmpty(line2)) { tag.line2.setVisibility(GONE); } else { tag.line2.setVisibility(VISIBLE); tag.line2.setText(line2); } tag.lines.setEnabled(enabled); tag.lines.setAlpha(enabled ? 1 : .4f); final ImageView button1 = (ImageView) row.findViewById(android.R.id.button1); button1.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { onClickTimeButton(row, tag, false /*down*/); } }); final ImageView button2 = (ImageView) row.findViewById(android.R.id.button2); button2.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { onClickTimeButton(row, tag, true /*up*/); } }); tag.lines.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { tag.rb.setChecked(true); } }); final long time = ZenModeConfig.tryParseCountdownConditionId(conditionId); if (time > 0) { button1.setVisibility(VISIBLE); button2.setVisibility(VISIBLE); if (mBucketIndex > -1) { button1.setEnabled(mBucketIndex > 0); button2.setEnabled(mBucketIndex < MINUTE_BUCKETS.length - 1); } else { final long span = time - System.currentTimeMillis(); button1.setEnabled(span > MIN_BUCKET_MINUTES * MINUTES_MS); final Condition maxCondition = ZenModeConfig.toTimeCondition( mContext, MAX_BUCKET_MINUTES, ActivityManager.getCurrentUser()); button2.setEnabled(!Objects.equals(condition.summary, maxCondition.summary)); } button1.setAlpha(button1.isEnabled() ? 1f : .5f); button2.setAlpha(button2.isEnabled() ? 1f : .5f); } else { button1.setVisibility(GONE); button2.setVisibility(GONE); } // wire up interaction callbacks for newly-added condition rows if (first) { Interaction.register(tag.rb, mInteractionCallback); Interaction.register(tag.lines, mInteractionCallback); Interaction.register(button1, mInteractionCallback); Interaction.register(button2, mInteractionCallback); } row.setVisibility(VISIBLE); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ImageFilterRS.setRenderScriptContext(this); ImageShow.setDefaultBackgroundColor(getResources().getColor(R.color.background_screen)); ImageSmallFilter.setDefaultBackgroundColor( getResources().getColor(R.color.background_main_toolbar)); // TODO: get those values from XML. ImageZoom.setZoomedSize(getPixelsFromDip(256)); FramedTextButton.setTextSize((int) getPixelsFromDip(14)); FramedTextButton.setTrianglePadding((int) getPixelsFromDip(4)); FramedTextButton.setTriangleSize((int) getPixelsFromDip(10)); ImageShow.setTextSize((int) getPixelsFromDip(12)); ImageShow.setTextPadding((int) getPixelsFromDip(10)); ImageShow.setOriginalTextMargin((int) getPixelsFromDip(4)); ImageShow.setOriginalTextSize((int) getPixelsFromDip(18)); ImageShow.setOriginalText(getResources().getString(R.string.original_picture_text)); ImageButtonTitle.setTextSize((int) getPixelsFromDip(12)); ImageButtonTitle.setTextPadding((int) getPixelsFromDip(10)); ImageSmallFilter.setMargin((int) getPixelsFromDip(3)); ImageSmallFilter.setTextMargin((int) getPixelsFromDip(4)); Drawable curveHandle = getResources().getDrawable(R.drawable.camera_crop); int curveHandleSize = (int) getResources().getDimension(R.dimen.crop_indicator_size); Spline.setCurveHandle(curveHandle, curveHandleSize); Spline.setCurveWidth((int) getPixelsFromDip(3)); setContentView(R.layout.filtershow_activity); ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView(R.layout.filtershow_actionbar); actionBar .getCustomView() .setOnClickListener( new OnClickListener() { @Override public void onClick(View view) { saveImage(); } }); mImageLoader = new ImageLoader(this, getApplicationContext()); LinearLayout listFilters = (LinearLayout) findViewById(R.id.listFilters); LinearLayout listBorders = (LinearLayout) findViewById(R.id.listBorders); LinearLayout listColors = (LinearLayout) findViewById(R.id.listColorsFx); mImageShow = (ImageShow) findViewById(R.id.imageShow); mImageCurves = (ImageCurves) findViewById(R.id.imageCurves); mImageBorders = (ImageBorder) findViewById(R.id.imageBorder); mImageStraighten = (ImageStraighten) findViewById(R.id.imageStraighten); mImageZoom = (ImageZoom) findViewById(R.id.imageZoom); mImageCrop = (ImageCrop) findViewById(R.id.imageCrop); mImageRotate = (ImageRotate) findViewById(R.id.imageRotate); mImageFlip = (ImageFlip) findViewById(R.id.imageFlip); mImageTinyPlanet = (ImageTinyPlanet) findViewById(R.id.imageTinyPlanet); mImageCrop.setAspectTextSize((int) getPixelsFromDip(18)); ImageCrop.setTouchTolerance((int) getPixelsFromDip(25)); mImageViews.add(mImageShow); mImageViews.add(mImageCurves); mImageViews.add(mImageBorders); mImageViews.add(mImageStraighten); mImageViews.add(mImageZoom); mImageViews.add(mImageCrop); mImageViews.add(mImageRotate); mImageViews.add(mImageFlip); mImageViews.add(mImageTinyPlanet); mListFx = findViewById(R.id.fxList); mListBorders = findViewById(R.id.bordersList); mListGeometry = findViewById(R.id.geometryList); mListFilterButtons = findViewById(R.id.filterButtonsList); mListColors = findViewById(R.id.colorsFxList); mListViews.add(mListFx); mListViews.add(mListBorders); mListViews.add(mListGeometry); mListViews.add(mListFilterButtons); mListViews.add(mListColors); mFxButton = (ImageButton) findViewById(R.id.fxButton); mBorderButton = (ImageButton) findViewById(R.id.borderButton); mGeometryButton = (ImageButton) findViewById(R.id.geometryButton); mColorsButton = (ImageButton) findViewById(R.id.colorsButton); mBottomPanelButtons.add(mFxButton); mBottomPanelButtons.add(mBorderButton); mBottomPanelButtons.add(mGeometryButton); mBottomPanelButtons.add(mColorsButton); mImageShow.setImageLoader(mImageLoader); mImageCurves.setImageLoader(mImageLoader); mImageCurves.setMaster(mImageShow); mImageBorders.setImageLoader(mImageLoader); mImageBorders.setMaster(mImageShow); mImageStraighten.setImageLoader(mImageLoader); mImageStraighten.setMaster(mImageShow); mImageZoom.setImageLoader(mImageLoader); mImageZoom.setMaster(mImageShow); mImageCrop.setImageLoader(mImageLoader); mImageCrop.setMaster(mImageShow); mImageRotate.setImageLoader(mImageLoader); mImageRotate.setMaster(mImageShow); mImageFlip.setImageLoader(mImageLoader); mImageFlip.setMaster(mImageShow); mImageTinyPlanet.setImageLoader(mImageLoader); mImageTinyPlanet.setMaster(mImageShow); mPanelController.setActivity(this); mPanelController.addImageView(findViewById(R.id.imageShow)); mPanelController.addImageView(findViewById(R.id.imageCurves)); mPanelController.addImageView(findViewById(R.id.imageBorder)); mPanelController.addImageView(findViewById(R.id.imageStraighten)); mPanelController.addImageView(findViewById(R.id.imageCrop)); mPanelController.addImageView(findViewById(R.id.imageRotate)); mPanelController.addImageView(findViewById(R.id.imageFlip)); mPanelController.addImageView(findViewById(R.id.imageZoom)); mPanelController.addImageView(findViewById(R.id.imageTinyPlanet)); mPanelController.addPanel(mFxButton, mListFx, 0); mPanelController.addPanel(mBorderButton, mListBorders, 1); mPanelController.addPanel(mGeometryButton, mListGeometry, 2); mPanelController.addComponent(mGeometryButton, findViewById(R.id.straightenButton)); mPanelController.addComponent(mGeometryButton, findViewById(R.id.cropButton)); mPanelController.addComponent(mGeometryButton, findViewById(R.id.rotateButton)); mPanelController.addComponent(mGeometryButton, findViewById(R.id.flipButton)); mPanelController.addPanel(mColorsButton, mListColors, 3); int[] recastIDs = { R.id.tinyplanetButton, R.id.vignetteButton, R.id.vibranceButton, R.id.contrastButton, R.id.saturationButton, R.id.bwfilterButton, R.id.wbalanceButton, R.id.hueButton, R.id.exposureButton, R.id.shadowRecoveryButton }; ImageFilter[] filters = { new ImageFilterTinyPlanet(), new ImageFilterVignette(), new ImageFilterVibrance(), new ImageFilterContrast(), new ImageFilterSaturated(), new ImageFilterBwFilter(), new ImageFilterWBalance(), new ImageFilterHue(), new ImageFilterExposure(), new ImageFilterShadows() }; for (int i = 0; i < filters.length; i++) { ImageSmallFilter fView = new ImageSmallFilter(this); View v = listColors.findViewById(recastIDs[i]); int pos = listColors.indexOfChild(v); listColors.removeView(v); filters[i].setParameter(filters[i].getPreviewParameter()); if (v instanceof ImageButtonTitle) filters[i].setName(((ImageButtonTitle) v).getText()); fView.setImageFilter(filters[i]); fView.setController(this); fView.setImageLoader(mImageLoader); fView.setId(recastIDs[i]); mPanelController.addComponent(mColorsButton, fView); listColors.addView(fView, pos); } int[] overlayIDs = {R.id.sharpenButton, R.id.curvesButtonRGB}; int[] overlayBitmaps = { R.drawable.filtershow_button_colors_sharpen, R.drawable.filtershow_button_colors_curve }; int[] overlayNames = {R.string.sharpness, R.string.curvesRGB}; for (int i = 0; i < overlayIDs.length; i++) { ImageWithIcon fView = new ImageWithIcon(this); View v = listColors.findViewById(overlayIDs[i]); int pos = listColors.indexOfChild(v); listColors.removeView(v); final int sid = overlayNames[i]; ImageFilterExposure efilter = new ImageFilterExposure() { { mName = getString(sid); } }; efilter.setParameter(-300); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), overlayBitmaps[i]); fView.setIcon(bitmap); fView.setImageFilter(efilter); fView.setController(this); fView.setImageLoader(mImageLoader); fView.setId(overlayIDs[i]); mPanelController.addComponent(mColorsButton, fView); listColors.addView(fView, pos); } mPanelController.addView(findViewById(R.id.applyEffect)); mPanelController.addView(findViewById(R.id.pickCurvesChannel)); mPanelController.addView(findViewById(R.id.aspect)); findViewById(R.id.resetOperationsButton) .setOnClickListener(createOnClickResetOperationsButton()); ListView operationsList = (ListView) findViewById(R.id.operationsList); operationsList.setAdapter(mImageShow.getHistory()); operationsList.setOnItemClickListener(this); ListView imageStateList = (ListView) findViewById(R.id.imageStateList); imageStateList.setAdapter(mImageShow.getImageStateAdapter()); mImageLoader.setAdapter(mImageShow.getHistory()); fillListImages(listFilters); fillListBorders(listBorders); SeekBar seekBar = (SeekBar) findViewById(R.id.filterSeekBar); seekBar.setMax(SEEK_BAR_MAX); mImageShow.setSeekBar(seekBar); mImageZoom.setSeekBar(seekBar); mImageTinyPlanet.setSeekBar(seekBar); mPanelController.setRowPanel(findViewById(R.id.secondRowPanel)); mPanelController.setUtilityPanel( this, findViewById(R.id.filterButtonsList), findViewById(R.id.applyEffect), findViewById(R.id.aspect), findViewById(R.id.pickCurvesChannel)); mPanelController.setMasterImage(mImageShow); mPanelController.setCurrentPanel(mFxButton); Intent intent = getIntent(); if (intent.getBooleanExtra(LAUNCH_FULLSCREEN, false)) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); } if (intent.getData() != null) { startLoadBitmap(intent.getData()); } else { pickImage(); } String action = intent.getAction(); if (action.equalsIgnoreCase(CROP_ACTION)) { mPanelController.showComponent(findViewById(R.id.cropButton)); } else if (action.equalsIgnoreCase(TINY_PLANET_ACTION)) { mPanelController.showComponent(findViewById(R.id.tinyplanetButton)); } }