/*
* Copyright 2013 Jake Wharton
* Copyright 2014 Prateek Srivastava (@f2prateek)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.f2prateek.dart.example;
import android.app.Activity;
import android.os.Bundle;
import android.util.SparseArray;
import android.widget.TextView;
import butterknife.ButterKnife;
import butterknife.InjectView;
import com.f2prateek.dart.Dart;
import com.f2prateek.dart.InjectExtra;
import com.f2prateek.dart.Nullable;
import java.util.List;
public class SampleActivity extends Activity {
public static final String DEFAULT_EXTRA_VALUE = "a default value";
private static final String EXTRA_STRING = "extraString";
private static final String EXTRA_INT = "extraInt";
private static final String EXTRA_PARCELABLE = "extraParcelable";
private static final String EXTRA_LIST_PARCELABLE = "extraListParcelable";
private static final String EXTRA_SPARSE_ARRAY_PARCELABLE = "extraSparseArrayParcelable";
private static final String EXTRA_OPTIONAL = "extraOptional";
private static final String EXTRA_PARCEL = "extraParcel";
private static final String EXTRA_WITH_DEFAULT = "extraWithDefault";
@InjectExtra(EXTRA_STRING) String stringExtra;
@InjectExtra(EXTRA_INT) int intExtra;
@InjectExtra(EXTRA_PARCELABLE) ComplexParcelable parcelableExtra;
@InjectExtra(EXTRA_PARCEL) ExampleParcel parcelExtra;
@InjectExtra(EXTRA_LIST_PARCELABLE) List<ExampleParcel> listParcelExtra;
@InjectExtra(EXTRA_SPARSE_ARRAY_PARCELABLE) SparseArray<ExampleParcel> sparseArrayParcelExtra;
@Nullable @InjectExtra(EXTRA_OPTIONAL) String optionalExtra;
@Nullable @InjectExtra(EXTRA_WITH_DEFAULT) String defaultExtra = DEFAULT_EXTRA_VALUE;
@InjectExtra String defaultKeyExtra;
@InjectView(R.id.default_key_extra) TextView defaultKeyExtraTextView;
@InjectView(R.id.string_extra) TextView stringExtraTextView;
@InjectView(R.id.int_extra) TextView intExtraTextView;
@InjectView(R.id.parcelable_extra) TextView parcelableExtraTextView;
@InjectView(R.id.optional_extra) TextView optionalExtraTextView;
@InjectView(R.id.parcel_extra) TextView parcelExtraTextView;
@InjectView(R.id.list_parcel_extra) TextView listParcelExtraTextView;
@InjectView(R.id.sparse_array_parcel_extra) TextView sparseArrayParcelExtraTextView;
@InjectView(R.id.default_extra) TextView defaultExtraTextView;
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample);
ButterKnife.inject(this);
Dart.inject(this);
// Contrived code to use the "injected" extras.
stringExtraTextView.setText(stringExtra);
intExtraTextView.setText(String.valueOf(intExtra));
parcelableExtraTextView.setText(String.valueOf(parcelableExtra));
optionalExtraTextView.setText(String.valueOf(optionalExtra));
parcelExtraTextView.setText(String.valueOf(parcelExtra.getName()));
listParcelExtraTextView.setText(String.valueOf(listParcelExtra.size()));
sparseArrayParcelExtraTextView.setText(String.valueOf(sparseArrayParcelExtra.size()));
defaultExtraTextView.setText(String.valueOf(defaultExtra));
defaultKeyExtraTextView.setText(defaultKeyExtra);
}
}