/** Called when the activity is first created. */ @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setVolumeControlStream(AudioManager.STREAM_MUSIC); int sortMode = TRACK_MENU; if (icicle == null) { mSelectedUri = getIntent().getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI); mDrmLevel = getIntent().getIntExtra(DrmStore.DrmExtra.EXTRA_DRM_LEVEL, -1); MusicLogUtils.d(TAG, "onCreate: drmlevel=" + mDrmLevel); } else { mSelectedUri = (Uri) icicle.getParcelable(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI); // Retrieve list state. This will be applied after the // QueryHandler has run mListState = icicle.getParcelable(LIST_STATE_KEY); mListHasFocus = icicle.getBoolean(FOCUS_KEY); sortMode = icicle.getInt(SORT_MODE_KEY, sortMode); mPrevSelectedPos = icicle.getInt(SELECTED_POS, -1); mDrmLevel = icicle.getInt(DRM_LEVEL, -1); MusicLogUtils.d(TAG, "onCreate: drmlevel(restored)=" + mDrmLevel); } if (Intent.ACTION_GET_CONTENT.equals(getIntent().getAction())) { mBaseUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; } else { mBaseUri = getIntent().getData(); if (mBaseUri == null) { MusicLogUtils.w(TAG, "No data URI given to PICK action"); finish(); return; } } setContentView(R.layout.music_picker); LinearLayout mainLayout = (LinearLayout) findViewById(R.id.mainLayout); /* if (FeatureOption.MTK_THEMEMANAGER_APP) { mainLayout.setThemeContentBgColor(0xff000000); } */ mSortOrder = MediaStore.Audio.Media.TITLE_KEY; if (FeatureOption.MTK_DRM_APP) { mDrmClient = new DrmManagerClient(this); } final ListView listView = getListView(); listView.setItemsCanFocus(false); mAdapter = new TrackListAdapter( this, listView, R.layout.music_picker_item, new String[] {}, new int[] {}); setListAdapter(mAdapter); listView.setTextFilterEnabled(true); // We manually save/restore the listview state listView.setSaveEnabled(false); mQueryHandler = new QueryHandler(this); mProgressContainer = findViewById(R.id.progressContainer); mListContainer = findViewById(R.id.listContainer); mOkayButton = findViewById(R.id.okayButton); mOkayButton.setOnClickListener(this); mCancelButton = findViewById(R.id.cancelButton); mCancelButton.setOnClickListener(this); // If there is a currently selected Uri, then try to determine who // it is. if (mSelectedUri != null) { Uri.Builder builder = mSelectedUri.buildUpon(); String path = mSelectedUri.getEncodedPath(); int idx = path.lastIndexOf('/'); if (idx >= 0) { path = path.substring(0, idx); } builder.encodedPath(path); Uri baseSelectedUri = builder.build(); MusicLogUtils.v(TAG, "Selected Uri: " + mSelectedUri); MusicLogUtils.v(TAG, "Selected base Uri: " + baseSelectedUri); MusicLogUtils.v(TAG, "Base Uri: " + mBaseUri); if (baseSelectedUri.equals(mBaseUri)) { // If the base Uri of the selected Uri is the same as our // content's base Uri, then use the selection! mSelectedId = ContentUris.parseId(mSelectedUri); } } setSortMode(sortMode); }