android.os.Bundle#getStringArray ( )源码实例Demo

下面列出了android.os.Bundle#getStringArray ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: financisto   文件: WhereFilter.java
public static WhereFilter fromBundle(Bundle bundle) {
	String title = bundle.getString(TITLE_EXTRA);
	WhereFilter filter = new WhereFilter(title);
	String[] a = bundle.getStringArray(FILTER_EXTRA);
	if (a != null) {
           for (String s : a) {
               filter.put(Criteria.fromStringExtra(s));
           }
	}
	String sortOrder = bundle.getString(SORT_ORDER_EXTRA);
	if (sortOrder != null) {
		String[] orders = sortOrder.split(",");
		if (orders != null && orders.length > 0) {
			filter.sorts.addAll(Arrays.asList(orders));
		}
	}
	return filter;
}
 
源代码2 项目: AndroidQuick   文件: BottomDialogFragment.java
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    Bundle bundle = getArguments();
    itemData = bundle.getStringArray("key");
    // 去掉默认的标题
    getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
    View view = View.inflate(getContext(), R.layout.fragment_bottom, null);
    ListView listView = view.findViewById(R.id.lv_result);
    ArrayAdapter<String> mAdapter = new ArrayAdapter<>(getContext(), android.R.layout.simple_expandable_list_item_1, itemData);
    listView.setAdapter(mAdapter);
    listView.setTextFilterEnabled(true);
    listView.setOnItemClickListener((parent, v, position, id) -> {
        listener.onClick(position);
        dismiss();
    });
    return view;
}
 
源代码3 项目: candybar   文件: InAppBillingFragment.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    if (savedInstanceState != null) {
        mType = savedInstanceState.getInt(TYPE);
        mKey = savedInstanceState.getString(KEY);
        mProductsId = savedInstanceState.getStringArray(PRODUCT_ID);
        mProductsCount = savedInstanceState.getIntArray(PRODUCT_COUNT);
    }

    mAsyncTask = new InAppProductsLoader().execute();
}
 
源代码4 项目: AndroidComponentPlugin   文件: ContentResolver.java
/**
 * Returns structured sort args formatted as an SQL sort clause.
 *
 * NOTE: Collator clauses are suitable for use with non text fields. We might
 * choose to omit any collation clause since we don't know the underlying
 * type of data to be collated. Imperical testing shows that sqlite3 doesn't
 * appear to care much about the presence of collate clauses in queries
 * when ordering by numeric fields. For this reason we include collate
 * clause unilaterally when {@link #QUERY_ARG_SORT_COLLATION} is present
 * in query args bundle.
 *
 * TODO: Would be nice to explicitly validate that colums referenced in
 * {@link #QUERY_ARG_SORT_COLUMNS} are present in the associated projection.
 *
 * @hide
 */
public static String createSqlSortClause(Bundle queryArgs) {
    String[] columns = queryArgs.getStringArray(QUERY_ARG_SORT_COLUMNS);
    if (columns == null || columns.length == 0) {
        throw new IllegalArgumentException("Can't create sort clause without columns.");
    }

    String query = TextUtils.join(", ", columns);

    // Interpret PRIMARY and SECONDARY collation strength as no-case collation based
    // on their javadoc descriptions.
    int collation = queryArgs.getInt(
            ContentResolver.QUERY_ARG_SORT_COLLATION, java.text.Collator.IDENTICAL);
    if (collation == java.text.Collator.PRIMARY || collation == java.text.Collator.SECONDARY) {
        query += " COLLATE NOCASE";
    }

    int sortDir = queryArgs.getInt(QUERY_ARG_SORT_DIRECTION, Integer.MIN_VALUE);
    if (sortDir != Integer.MIN_VALUE) {
        switch (sortDir) {
            case QUERY_SORT_DIRECTION_ASCENDING:
                query += " ASC";
                break;
            case QUERY_SORT_DIRECTION_DESCENDING:
                query += " DESC";
                break;
            default:
                throw new IllegalArgumentException("Unsupported sort direction value."
                        + " See ContentResolver documentation for details.");
        }
    }
    return query;
}
 
源代码5 项目: AndroidComponentPlugin   文件: ContentResolver.java
/**
 * Returns structured sort args formatted as an SQL sort clause.
 *
 * NOTE: Collator clauses are suitable for use with non text fields. We might
 * choose to omit any collation clause since we don't know the underlying
 * type of data to be collated. Imperical testing shows that sqlite3 doesn't
 * appear to care much about the presence of collate clauses in queries
 * when ordering by numeric fields. For this reason we include collate
 * clause unilaterally when {@link #QUERY_ARG_SORT_COLLATION} is present
 * in query args bundle.
 *
 * TODO: Would be nice to explicitly validate that colums referenced in
 * {@link #QUERY_ARG_SORT_COLUMNS} are present in the associated projection.
 *
 * @hide
 */
public static String createSqlSortClause(Bundle queryArgs) {
    String[] columns = queryArgs.getStringArray(QUERY_ARG_SORT_COLUMNS);
    if (columns == null || columns.length == 0) {
        throw new IllegalArgumentException("Can't create sort clause without columns.");
    }

    String query = TextUtils.join(", ", columns);

    // Interpret PRIMARY and SECONDARY collation strength as no-case collation based
    // on their javadoc descriptions.
    int collation = queryArgs.getInt(
            ContentResolver.QUERY_ARG_SORT_COLLATION, java.text.Collator.IDENTICAL);
    if (collation == java.text.Collator.PRIMARY || collation == java.text.Collator.SECONDARY) {
        query += " COLLATE NOCASE";
    }

    int sortDir = queryArgs.getInt(QUERY_ARG_SORT_DIRECTION, Integer.MIN_VALUE);
    if (sortDir != Integer.MIN_VALUE) {
        switch (sortDir) {
            case QUERY_SORT_DIRECTION_ASCENDING:
                query += " ASC";
                break;
            case QUERY_SORT_DIRECTION_DESCENDING:
                query += " DESC";
                break;
            default:
                throw new IllegalArgumentException("Unsupported sort direction value."
                        + " See ContentResolver documentation for details.");
        }
    }
    return query;
}
 
源代码6 项目: android_9.0.0_r45   文件: ContentResolver.java
/**
 * Returns structured sort args formatted as an SQL sort clause.
 *
 * NOTE: Collator clauses are suitable for use with non text fields. We might
 * choose to omit any collation clause since we don't know the underlying
 * type of data to be collated. Imperical testing shows that sqlite3 doesn't
 * appear to care much about the presence of collate clauses in queries
 * when ordering by numeric fields. For this reason we include collate
 * clause unilaterally when {@link #QUERY_ARG_SORT_COLLATION} is present
 * in query args bundle.
 *
 * TODO: Would be nice to explicitly validate that colums referenced in
 * {@link #QUERY_ARG_SORT_COLUMNS} are present in the associated projection.
 *
 * @hide
 */
public static String createSqlSortClause(Bundle queryArgs) {
    String[] columns = queryArgs.getStringArray(QUERY_ARG_SORT_COLUMNS);
    if (columns == null || columns.length == 0) {
        throw new IllegalArgumentException("Can't create sort clause without columns.");
    }

    String query = TextUtils.join(", ", columns);

    // Interpret PRIMARY and SECONDARY collation strength as no-case collation based
    // on their javadoc descriptions.
    int collation = queryArgs.getInt(
            ContentResolver.QUERY_ARG_SORT_COLLATION, java.text.Collator.IDENTICAL);
    if (collation == java.text.Collator.PRIMARY || collation == java.text.Collator.SECONDARY) {
        query += " COLLATE NOCASE";
    }

    int sortDir = queryArgs.getInt(QUERY_ARG_SORT_DIRECTION, Integer.MIN_VALUE);
    if (sortDir != Integer.MIN_VALUE) {
        switch (sortDir) {
            case QUERY_SORT_DIRECTION_ASCENDING:
                query += " ASC";
                break;
            case QUERY_SORT_DIRECTION_DESCENDING:
                query += " DESC";
                break;
            default:
                throw new IllegalArgumentException("Unsupported sort direction value."
                        + " See ContentResolver documentation for details.");
        }
    }
    return query;
}
 
源代码7 项目: AsteroidOSSync   文件: SlideFragment.java
public void initializeView() {
    Bundle bundle = getArguments();
    backgroundColor = bundle.getInt(BACKGROUND_COLOR);
    buttonsColor = bundle.getInt(BUTTONS_COLOR);
    image = bundle.getInt(IMAGE, 0);
    title = bundle.getString(TITLE);
    description = bundle.getString(DESCRIPTION);
    neededPermissions = bundle.getStringArray(NEEDED_PERMISSIONS);
    possiblePermissions = bundle.getStringArray(POSSIBLE_PERMISSIONS);

    updateViewWithValues();
}
 
源代码8 项目: Indic-Keyboard   文件: PermissionsActivity.java
@Override
protected void onResume() {
    super.onResume();
    // Only do request when there is no pending request to avoid duplicated requests.
    if (mPendingRequestCode == INVALID_REQUEST_CODE) {
        final Bundle extras = getIntent().getExtras();
        final String[] permissionsToRequest =
                extras.getStringArray(EXTRA_PERMISSION_REQUESTED_PERMISSIONS);
        mPendingRequestCode = extras.getInt(EXTRA_PERMISSION_REQUEST_CODE);
        // Assuming that all supplied permissions are not granted yet, so that we don't need to
        // check them again.
        PermissionsUtil.requestPermissions(this, mPendingRequestCode, permissionsToRequest);
    }
}
 
源代码9 项目: permissive   文件: RationaleDialogFragment.java
@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  if (DEBUG) {
    Log.d(getClass().getSimpleName(), "onCreate(): this=" + this + ", savedInstanceState=" + savedInstanceState);
  }

  if (savedInstanceState != null) {
    allowablePermissions = savedInstanceState.getStringArray("permissions");
    permissiveMessenger = savedInstanceState.getParcelable("messenger");
  }
  permissiveMessenger.restoreActivity(getActivity());
}
 
源代码10 项目: Android-Webcam   文件: FormatPickerDialog.java
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    final Bundle args = getArguments();
    if (args == null) {
        throw new IllegalStateException("An arguments bundle must be provided.");
    }
    values = args.getStringArray(ARGUMENT_VALUES);
    indices = args.getIntArray(ARGUMENT_INDICES);
    Timber.d("Displayed values: %s", Arrays.toString(values));
}
 
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    if (!mProgressBar.isShown()) {
        mProgressBar.setVisibility(View.VISIBLE);
    }
    String[] projection = args.getStringArray(RecordsActivity.args.projection.name());
    String selection = args.getString(RecordsActivity.args.selection.name());
    String[] selectionArgs = args.getStringArray(RecordsActivity.args.selectionArguments.name());
    String sort = mPreferenceHelper.getSortSelection()
            + mPreferenceHelper.getSortArrange();
    int limit = args.getInt(RecordsActivity.args.limit.name());
    int offset = args.getInt(RecordsActivity.args.offset.name());

    switch (id) {
        case 0:
            Uri uri = RecordDbContract.CONTENT_URL
                    .buildUpon()
                    .appendQueryParameter(RecordsContentProvider.QUERY_PARAMETER_LIMIT,
                            String.valueOf(limit))
                    .appendQueryParameter(RecordsContentProvider.QUERY_PARAMETER_OFFSET,
                            String.valueOf(offset))
                    .build();
            return new CursorLoader(this, uri, projection, selection, selectionArgs, sort);

        default:
            throw new IllegalArgumentException("no loader id handled!");
    }
}
 
源代码12 项目: aMuleRemote   文件: ListDialogFragment.java
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // STRING_LIST is supposed to be immutable, so no point of saving instance state.
    Bundle args = getArguments();
    if (args != null) {
        if (args.containsKey(BUNDLE_STRING_LIST)) mStringList = args.getStringArray(BUNDLE_STRING_LIST);
        if (args.containsKey(BUNDLE_PARCELABLE_LIST)) mParcelableList = args.getParcelableArray(BUNDLE_PARCELABLE_LIST);
    }
}
 
源代码13 项目: youqu_master   文件: SlideFragment.java
public void initializeView() {
    Bundle bundle = getArguments();
    backgroundColor = bundle.getInt(BACKGROUND_COLOR);
    buttonsColor = bundle.getInt(BUTTONS_COLOR);
    image = bundle.getInt(IMAGE, 0);
    title = bundle.getString(TITLE);
    description = bundle.getString(DESCRIPTION);
    neededPermissions = bundle.getStringArray(NEEDED_PERMISSIONS);
    possiblePermissions = bundle.getStringArray(POSSIBLE_PERMISSIONS);

    updateViewWithValues();
}
 
源代码14 项目: material-intro-screen   文件: SlideFragment.java
public void initializeView() {
    Bundle bundle = getArguments();
    backgroundColor = bundle.getInt(BACKGROUND_COLOR);
    buttonsColor = bundle.getInt(BUTTONS_COLOR);
    image = bundle.getInt(IMAGE, 0);
    title = bundle.getString(TITLE);
    description = bundle.getString(DESCRIPTION);
    neededPermissions = bundle.getStringArray(NEEDED_PERMISSIONS);
    possiblePermissions = bundle.getStringArray(POSSIBLE_PERMISSIONS);

    updateViewWithValues();
}
 
源代码15 项目: easypermissions   文件: RationaleDialogConfig.java
RationaleDialogConfig(Bundle bundle) {
    positiveButton = bundle.getString(KEY_POSITIVE_BUTTON);
    negativeButton = bundle.getString(KEY_NEGATIVE_BUTTON);
    rationaleMsg = bundle.getString(KEY_RATIONALE_MESSAGE);
    theme = bundle.getInt(KEY_THEME);
    requestCode = bundle.getInt(KEY_REQUEST_CODE);
    permissions = bundle.getStringArray(KEY_PERMISSIONS);
}
 
源代码16 项目: android_9.0.0_r45   文件: SliceShellCommand.java
private int runGetPermissions(String authority) {
    if (Binder.getCallingUid() != Process.SHELL_UID
            && Binder.getCallingUid() != Process.ROOT_UID) {
        getOutPrintWriter().println("Only shell can get permissions");
        return -1;
    }
    Context context = mService.getContext();
    long ident = Binder.clearCallingIdentity();
    try {
        Uri uri = new Uri.Builder()
                .scheme(ContentResolver.SCHEME_CONTENT)
                .authority(authority)
                .build();
        if (!SliceProvider.SLICE_TYPE.equals(context.getContentResolver().getType(uri))) {
            getOutPrintWriter().println(authority + " is not a slice provider");
            return -1;
        }
        Bundle b = context.getContentResolver().call(uri, SliceProvider.METHOD_GET_PERMISSIONS,
                null, null);
        if (b == null) {
            getOutPrintWriter().println("An error occurred getting permissions");
            return -1;
        }
        String[] permissions = b.getStringArray(SliceProvider.EXTRA_RESULT);
        final PrintWriter pw = getOutPrintWriter();
        Set<String> listedPackages = new ArraySet<>();
        if (permissions != null && permissions.length != 0) {
            List<PackageInfo> apps =
                    context.getPackageManager().getPackagesHoldingPermissions(permissions, 0);
            for (PackageInfo app : apps) {
                pw.println(app.packageName);
                listedPackages.add(app.packageName);
            }
        }
        for (String pkg : mService.getAllPackagesGranted(authority)) {
            if (!listedPackages.contains(pkg)) {
                pw.println(pkg);
                listedPackages.add(pkg);
            }
        }
    } finally {
        Binder.restoreCallingIdentity(ident);
    }
    return 0;
}
 
源代码17 项目: letv   文件: HttpUtils.java
public static String encodeUrl(Bundle bundle) {
    if (bundle == null) {
        return "";
    }
    StringBuilder stringBuilder = new StringBuilder();
    Object obj = 1;
    for (String str : bundle.keySet()) {
        Object obj2 = bundle.get(str);
        if ((obj2 instanceof String) || (obj2 instanceof String[])) {
            Object obj3;
            if (obj2 instanceof String[]) {
                if (obj != null) {
                    obj = null;
                } else {
                    stringBuilder.append("&");
                }
                stringBuilder.append(URLEncoder.encode(str) + SearchCriteria.EQ);
                String[] stringArray = bundle.getStringArray(str);
                if (stringArray != null) {
                    for (int i = 0; i < stringArray.length; i++) {
                        if (i == 0) {
                            stringBuilder.append(URLEncoder.encode(stringArray[i]));
                        } else {
                            stringBuilder.append(URLEncoder.encode("," + stringArray[i]));
                        }
                    }
                    obj3 = obj;
                }
            } else {
                if (obj != null) {
                    obj = null;
                } else {
                    stringBuilder.append("&");
                }
                stringBuilder.append(URLEncoder.encode(str) + SearchCriteria.EQ + URLEncoder.encode(bundle.getString(str)));
                obj3 = obj;
            }
            obj = obj3;
        }
    }
    return stringBuilder.toString();
}
 
/**
 * OpenAPIParser#parse(String) に testEnum.json を渡して解析を行う。
 * 
 * parameter の type と異なる enum の宣言が存在する testEnum.json をよみこむ。
 * <pre>
 * 【期待する動作】
 * ・Swagger オブジェクトが取得できること。
 * ・parameter の enum が取得できること。
 * </pre>
 */
@Test
public void testEnum() throws JSONException {
    DevicePluginContext pluginContext = Mockito.mock(DevicePluginContext.class);

    String jsonString = FileLoader.readString("parser/testEnum.json");

    DConnectServiceSpec spec = new DConnectServiceSpec(pluginContext);
    spec.addProfileSpec("testEnum", jsonString);

    Bundle swagger = spec.findProfileSpec("testEnum").toBundle();
    assertThat(swagger, is(notNullValue()));

    Bundle paths = swagger.getBundle("paths");
    assertThat(paths, is(notNullValue()));
    assertThat(paths.size(), is(1));

    Bundle a0 = paths.getBundle("/a0");
    assertThat(a0, is(notNullValue()));

    Bundle a0Get = a0.getBundle("get");
    assertThat(a0Get, is(notNullValue()));

    Parcelable[] parameters = a0Get.getParcelableArray("parameters");
    assertThat(parameters, is(notNullValue()));
    assertThat(parameters.length, is(7));

    Bundle stringInt = (Bundle) parameters[1];
    assertThat(stringInt.getString("type"), is("string"));
    String[] stringIntEnum = stringInt.getStringArray("enum");
    assertThat(stringIntEnum, is(notNullValue()));
    assertThat(stringIntEnum[0], is("1"));
    assertThat(stringIntEnum[1], is("2"));
    assertThat(stringIntEnum[2], is("3"));
    assertThat(stringIntEnum[3], is("4"));

    Bundle stringNumber = (Bundle) parameters[2];
    assertThat(stringNumber.getString("type"), is("string"));
    String[] stringNumberEnum = stringNumber.getStringArray("enum");
    assertThat(stringNumberEnum, is(notNullValue()));
    assertThat(stringNumberEnum[0], is("1.1"));
    assertThat(stringNumberEnum[1], is("2.2"));
    assertThat(stringNumberEnum[2], is("3.3"));
    assertThat(stringNumberEnum[3], is("4.4"));

    Bundle intString = (Bundle) parameters[3];
    assertThat(intString.getString("type"), is("integer"));
    assertThat(intString.getString("format"), is("int32"));
    int[] intStringEnum = intString.getIntArray("enum");
    assertThat(intStringEnum, is(notNullValue()));
    assertThat(intStringEnum[0], is(1));
    assertThat(intStringEnum[1], is(2));
    assertThat(intStringEnum[2], is(3));
    assertThat(intStringEnum[3], is(4));

    Bundle longString = (Bundle) parameters[4];
    assertThat(longString.getString("type"), is("integer"));
    assertThat(longString.getString("format"), is("int64"));
    long[] longStringEnum = longString.getLongArray("enum");
    assertThat(longStringEnum, is(notNullValue()));
    assertThat(longStringEnum[0], is(1L));
    assertThat(longStringEnum[1], is(2L));
    assertThat(longStringEnum[2], is(3L));
    assertThat(longStringEnum[3], is(4L));

    Bundle floatString = (Bundle) parameters[5];
    assertThat(floatString.getString("type"), is("number"));
    assertThat(floatString.getString("format"), is("float"));
    float[] floatStringEnum = floatString.getFloatArray("enum");
    assertThat(floatStringEnum, is(notNullValue()));
    assertThat(floatStringEnum[0], is(1.1F));
    assertThat(floatStringEnum[1], is(2.2F));
    assertThat(floatStringEnum[2], is(3.3F));
    assertThat(floatStringEnum[3], is(4.4F));

    Bundle doubleString = (Bundle) parameters[6];
    assertThat(doubleString.getString("type"), is("number"));
    assertThat(doubleString.getString("format"), is("double"));
    double[] doubleStringEnum = doubleString.getDoubleArray("enum");
    assertThat(doubleStringEnum, is(notNullValue()));
    assertThat(doubleStringEnum[0], is(1.1D));
    assertThat(doubleStringEnum[1], is(2.2D));
    assertThat(doubleStringEnum[2], is(3.3D));
    assertThat(doubleStringEnum[3], is(4.4D));
}
 
源代码19 项目: MifareClassicTool   文件: DumpEditor.java
/**
 * Check whether to initialize the editor on a dump file or on
 * a new dump directly from {@link ReadTag}
 * (or recreate instance state if the activity was killed).
 * Also it will color the caption of the dump editor.
 * @see #initEditor(String[])
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_dump_editor);

    mLayout = findViewById(
            R.id.linearLayoutDumpEditor);

    // Color caption.
    SpannableString keyA = Common.colorString(
            getString(R.string.text_keya),
            getResources().getColor(R.color.light_green));
    SpannableString keyB =  Common.colorString(
            getString(R.string.text_keyb),
            getResources().getColor(R.color.dark_green));
    SpannableString ac = Common.colorString(
            getString(R.string.text_ac),
            getResources().getColor(R.color.orange));
    SpannableString uidAndManuf = Common.colorString(
            getString(R.string.text_uid_and_manuf),
            getResources().getColor(R.color.purple));
    SpannableString vb = Common.colorString(
            getString(R.string.text_valueblock),
            getResources().getColor(R.color.yellow));

    TextView caption = findViewById(
            R.id.textViewDumpEditorCaption);
    caption.setText(TextUtils.concat(uidAndManuf, " | ",
            vb, " | ", keyA, " | ", keyB, " | ", ac), BufferType.SPANNABLE);
    // Add web-link optic to update colors text view (= caption title).
    TextView captionTitle = findViewById(
            R.id.textViewDumpEditorCaptionTitle);
    SpannableString updateText = Common.colorString(
            getString(R.string.text_update_colors),
            getResources().getColor(R.color.blue));
    updateText.setSpan(new UnderlineSpan(), 0, updateText.length(), 0);
    captionTitle.setText(TextUtils.concat(
            getString(R.string.text_caption_title),
            ": (", updateText, ")"));

    if (getIntent().hasExtra(EXTRA_DUMP)) {
        // Called from ReadTag (init editor by intent).
        String[] dump = getIntent().getStringArrayExtra(EXTRA_DUMP);
        // Set title with UID.
        if (Common.getUID() != null) {
            mUID = Common.byte2HexString(Common.getUID());
            setTitle(getTitle() + " (UID: " + mUID+ ")");
        }
        initEditor(dump);
        setIntent(null);
    } else if (getIntent().hasExtra(
            FileChooser.EXTRA_CHOSEN_FILE)) {
        // Called form FileChooser (init editor by file).
        File file = new File(getIntent().getStringExtra(
                FileChooser.EXTRA_CHOSEN_FILE));
        mDumpName = file.getName();
        setTitle(getTitle() + " (" + mDumpName + ")");
        initEditor(Common.readFileLineByLine(file, false, this));
        setIntent(null);
    } else if (savedInstanceState != null) {
        // Recreated after kill by Android (due to low memory).
        mDumpName = savedInstanceState.getString("file_name");
        if (mDumpName != null) {
            setTitle(getTitle() + " (" + mDumpName + ")");
        }
        mLines = savedInstanceState.getStringArray("lines");
        if (mLines != null) {
            initEditor(mLines);
        }
    }
}
 
源代码20 项目: Cirrus_depricated   文件: PassCodeActivity.java
/**
 * Initializes the activity.
 *
 * An intent with a valid ACTION is expected; if none is found, an
 * {@link IllegalArgumentException} will be thrown.
 *
 * @param savedInstanceState    Previously saved state - irrelevant in this case
 */
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.passcodelock);

    getWindow().setDimAmount(0.9f);
    //getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

    mBCancel = (Button) findViewById(R.id.cancel);
    mPassCodeHdr = (TextView) findViewById(R.id.header);
    mPassCodeHdrExplanation = (TextView) findViewById(R.id.explanation);
    mPassCodeEditTexts[0] = (EditText) findViewById(R.id.txt0);
    mPassCodeEditTexts[0].requestFocus();
    getWindow().setSoftInputMode(
            android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
    mPassCodeEditTexts[1] = (EditText) findViewById(R.id.txt1);
    mPassCodeEditTexts[2] = (EditText) findViewById(R.id.txt2);
    mPassCodeEditTexts[3] = (EditText) findViewById(R.id.txt3);

    if (ACTION_CHECK.equals(getIntent().getAction())) {
        /// this is a pass code request; the user has to input the right value
        mPassCodeHdr.setText(R.string.pass_code_enter_pass_code);
        mPassCodeHdrExplanation.setVisibility(View.INVISIBLE);
        setCancelButtonEnabled(false);      // no option to cancel

    } else if (ACTION_REQUEST_WITH_RESULT.equals(getIntent().getAction())) {
        if (savedInstanceState != null) {
            mConfirmingPassCode = savedInstanceState.getBoolean(PassCodeActivity.KEY_CONFIRMING_PASSCODE);
            mPassCodeDigits = savedInstanceState.getStringArray(PassCodeActivity.KEY_PASSCODE_DIGITS);
        }
        if(mConfirmingPassCode){
            //the app was in the passcodeconfirmation
            requestPassCodeConfirmation();
        }else{
            /// pass code preference has just been activated in Preferences;
            // will receive and confirm pass code value
            mPassCodeHdr.setText(R.string.pass_code_configure_your_pass_code);
            //mPassCodeHdr.setText(R.string.pass_code_enter_pass_code);
            // TODO choose a header, check iOS
            mPassCodeHdrExplanation.setVisibility(View.VISIBLE);
            setCancelButtonEnabled(true);
        }

    } else if (ACTION_CHECK_WITH_RESULT.equals(getIntent().getAction())) {
        /// pass code preference has just been disabled in Preferences;
        // will confirm user knows pass code, then remove it
        mPassCodeHdr.setText(R.string.pass_code_remove_your_pass_code);
        mPassCodeHdrExplanation.setVisibility(View.INVISIBLE);
        setCancelButtonEnabled(true);

    } else {
        throw new IllegalArgumentException("A valid ACTION is needed in the Intent passed to "
                + TAG);
    }

    setTextListeners();
}