summaryrefslogtreecommitdiffstats
path: root/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java')
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java98
1 files changed, 57 insertions, 41 deletions
diff --git a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
index 824815f..654bb6d 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
@@ -19,7 +19,6 @@ package com.android.printspooler;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
-import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
@@ -56,6 +55,7 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.View.MeasureSpec;
import android.view.View.OnClickListener;
+import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
@@ -66,7 +66,6 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
-import android.widget.Toast;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
@@ -104,7 +103,7 @@ public class PrintJobConfigActivity extends Activity {
private static final int EDITOR_STATE_INITIALIZED = 1;
private static final int EDITOR_STATE_CONFIRMED_PRINT = 2;
- private static final int EDITOR_STATE_CONFIRMED_PREVIEW = 3;
+// private static final int EDITOR_STATE_CONFIRMED_PREVIEW = 3;
private static final int EDITOR_STATE_CANCELLED = 4;
private static final int MIN_COPIES = 1;
@@ -214,7 +213,7 @@ public class PrintJobConfigActivity extends Activity {
public boolean onTouchEvent(MotionEvent event) {
if (!mEditor.isPrintConfirmed() && !mEditor.isPreviewConfirmed()
- && getWindow().shouldCloseOnTouch(this, event)) {
+ && mEditor.shouldCloseOnTouch(event)) {
if (!mController.isWorking()) {
PrintJobConfigActivity.this.finish();
}
@@ -606,7 +605,7 @@ public class PrintJobConfigActivity extends Activity {
private final SimpleStringSplitter mStringCommaSplitter =
new SimpleStringSplitter(',');
- private final Button mPrintPreviewButton;
+ private final View mContentContainer;
private final Button mPrintButton;
@@ -802,6 +801,9 @@ public class PrintJobConfigActivity extends Activity {
private boolean mIgnoreNextRangeChange;
public Editor() {
+ // Content container
+ mContentContainer = findViewById(R.id.content_container);
+
// Copies
mCopiesEditText = (EditText) findViewById(R.id.copies_edittext);
mCopiesEditText.setText(String.valueOf(MIN_COPIES));
@@ -864,19 +866,6 @@ public class PrintJobConfigActivity extends Activity {
mRangeOptionsSpinner.setSelection(0);
}
- // Preview button
- mPrintPreviewButton = (Button) findViewById(R.id.print_preview_button);
- mPrintPreviewButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- mEditor.confirmPreview();
- // TODO: Implement me
- Toast.makeText(PrintJobConfigActivity.this,
- "Stop poking me! Not implemented yet :)",
- Toast.LENGTH_LONG).show();
- }
- });
-
// Print button
mPrintButton = (Button) findViewById(R.id.print_button);
mPrintButton.setOnClickListener(new OnClickListener() {
@@ -892,6 +881,32 @@ public class PrintJobConfigActivity extends Activity {
updateUi();
}
+ public boolean shouldCloseOnTouch(MotionEvent event) {
+ if (event.getAction() != MotionEvent.ACTION_DOWN) {
+ return false;
+ }
+
+ final int[] locationInWindow = new int[2];
+ mContentContainer.getLocationInWindow(locationInWindow);
+
+ final int windowTouchSlop = ViewConfiguration.get(PrintJobConfigActivity.this)
+ .getScaledWindowTouchSlop();
+ final int eventX = (int) event.getX();
+ final int eventY = (int) event.getY();
+ final int lenientWindowLeft = locationInWindow[0] - windowTouchSlop;
+ final int lenientWindowRight = lenientWindowLeft + mContentContainer.getWidth()
+ + windowTouchSlop;
+ final int lenientWindowTop = locationInWindow[1] - windowTouchSlop;
+ final int lenientWindowBottom = lenientWindowTop + mContentContainer.getHeight()
+ + windowTouchSlop;
+
+ if (eventX < lenientWindowLeft || eventX > lenientWindowRight
+ || eventY < lenientWindowTop || eventY > lenientWindowBottom) {
+ return true;
+ }
+ return false;
+ }
+
public boolean isShwoingGeneratingPrintJobUi() {
return (findViewById(R.id.content_generating) != null);
}
@@ -917,7 +932,7 @@ public class PrintJobConfigActivity extends Activity {
});
// First animation - fade out the old content.
- contentEditing.animate().alpha(0.0f).withEndAction(new Runnable() {
+ contentEditing.animate().alpha(0.0f).withLayer().withEndAction(new Runnable() {
@Override
public void run() {
contentEditing.setVisibility(View.INVISIBLE);
@@ -936,7 +951,7 @@ public class PrintJobConfigActivity extends Activity {
/ (float) contentContainer.getHeight();
// Second animation - resize the container.
- contentContainer.animate().scaleY(scaleY).withEndAction(
+ contentContainer.animate().scaleY(scaleY).withLayer().withEndAction(
new Runnable() {
@Override
public void run() {
@@ -946,7 +961,7 @@ public class PrintJobConfigActivity extends Activity {
contentContainer.addView(contentGenerating);
// Third animation - show the new content.
- contentGenerating.animate().alpha(1.0f);
+ contentGenerating.animate().withLayer().alpha(1.0f);
}
});
}
@@ -987,9 +1002,9 @@ public class PrintJobConfigActivity extends Activity {
return mEditorState == EDITOR_STATE_CONFIRMED_PRINT;
}
- public void confirmPreview() {
- mEditorState = EDITOR_STATE_CONFIRMED_PREVIEW;
- }
+// public void confirmPreview() {
+// mEditorState = EDITOR_STATE_CONFIRMED_PREVIEW;
+// }
public PageRange[] getRequestedPages() {
if (hasErrors()) {
@@ -1035,7 +1050,8 @@ public class PrintJobConfigActivity extends Activity {
mOrientationSpinner.setEnabled(false);
mRangeOptionsSpinner.setEnabled(false);
mRangeEditText.setEnabled(false);
- mPrintPreviewButton.setEnabled(false);
+ // TODO: Remove entirely or implement print preview.
+// mPrintPreviewButton.setEnabled(false);
mPrintButton.setEnabled(false);
return;
}
@@ -1092,9 +1108,9 @@ public class PrintJobConfigActivity extends Activity {
mRangeEditText.setEnabled(false);
mRangeEditText.setVisibility(View.INVISIBLE);
- // Print preview
- mPrintPreviewButton.setEnabled(false);
- mPrintPreviewButton.setText(getString(R.string.print_preview));
+// // Print preview
+// mPrintPreviewButton.setEnabled(false);
+// mPrintPreviewButton.setText(getString(R.string.print_preview));
// Print
mPrintButton.setEnabled(false);
@@ -1291,15 +1307,15 @@ public class PrintJobConfigActivity extends Activity {
&& (TextUtils.isEmpty(mRangeEditText.getText()) || hasErrors()))
|| (mRangeOptionsSpinner.getSelectedItemPosition() == 0
&& (!mController.hasPerformedLayout() || hasErrors()))) {
- mPrintPreviewButton.setEnabled(false);
+// mPrintPreviewButton.setEnabled(false);
mPrintButton.setEnabled(false);
} else {
- mPrintPreviewButton.setEnabled(true);
- if (hasPdfViewer()) {
- mPrintPreviewButton.setText(getString(R.string.print_preview));
- } else {
- mPrintPreviewButton.setText(getString(R.string.install_for_print_preview));
- }
+// mPrintPreviewButton.setEnabled(true);
+// if (hasPdfViewer()) {
+// mPrintPreviewButton.setText(getString(R.string.print_preview));
+// } else {
+// mPrintPreviewButton.setText(getString(R.string.install_for_print_preview));
+// }
mPrintButton.setEnabled(true);
}
@@ -1412,12 +1428,12 @@ public class PrintJobConfigActivity extends Activity {
|| mCopiesEditText.getError() != null;
}
- private boolean hasPdfViewer() {
- Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setType("application/pdf");
- return !getPackageManager().queryIntentActivities(intent,
- PackageManager.MATCH_DEFAULT_ONLY).isEmpty();
- }
+// private boolean hasPdfViewer() {
+// Intent intent = new Intent(Intent.ACTION_VIEW);
+// intent.setType("application/pdf");
+// return !getPackageManager().queryIntentActivities(intent,
+// PackageManager.MATCH_DEFAULT_ONLY).isEmpty();
+// }
private final class SpinnerItem<T> {
final T value;