Skip to content

Instantly share code, notes, and snippets.

@ChandraniChatterjeeMolly
Created March 7, 2017 04:43
Show Gist options
  • Save ChandraniChatterjeeMolly/115112b9c75e2ee738a200929f9e9797 to your computer and use it in GitHub Desktop.
Save ChandraniChatterjeeMolly/115112b9c75e2ee738a200929f9e9797 to your computer and use it in GitHub Desktop.
miwok-name of class: ColorsFragment
package com.example.android.miwok;
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ListView;
import java.util.ArrayList;
/**
* A simple {@link Fragment} subclass.
*/
public class ColorsFragment extends android.support.v4.app.Fragment {
MediaPlayer mMediaPlayer;
private AudioManager audioManager;
private AudioManager.OnAudioFocusChangeListener mOnAudioFocusChangeListener ;
public ColorsFragment() {
// Required empty public constructor
}
//release Mediaplayer resources
public void releaseMediaPlayerResource() {
if (mMediaPlayer != null) {
mMediaPlayer.release();
mMediaPlayer = null;
}
}
@Override
public void onStop() {
super.onStop();
releaseMediaPlayerResource();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.word_list, container, false);
//return rootView;
// Create a list of words
final ArrayList<Word> words = new ArrayList<Word>();
words.add(new Word("red", "weṭeṭṭi", R.drawable.color_red, R.raw.color_red));
words.add(new Word("mustard yellow", "chiwiiṭә", R.drawable.color_mustard_yellow, R.raw.color_mustard_yellow));
words.add(new Word("dusty yellow", "ṭopiisә", R.drawable.color_dusty_yellow, R.raw.color_dusty_yellow));
words.add(new Word("green", "chokokki", R.drawable.color_green, R.raw.color_green));
words.add(new Word("brown", "ṭakaakki", R.drawable.color_brown, R.raw.color_brown));
words.add(new Word("gray", "ṭopoppi", R.drawable.color_gray, R.raw.color_gray));
words.add(new Word("black", "kululli", R.drawable.color_black, R.raw.color_black));
words.add(new Word("white", "kelelli", R.drawable.color_white, R.raw.color_white));
// Create an {@link WordAdapter}, whose data source is a list of {@link Word}s. The
// adapter knows how to create list items for each item in the list.
WordAdapter adapter = new WordAdapter(getActivity(), words, R.color.category_colors);
// Find the {@link ListView} object in the view hierarchy of the {@link Activity}.
// There should be a {@link ListView} with the view ID called list, which is declared in the
// word_list.xml layout file.
ListView listView = (ListView) rootView.findViewById(R.id.list);
// Make the {@link ListView} use the {@link WordAdapter} we created above, so that the
// {@link ListView} will display list items for each {@link Word} in the list.
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
releaseMediaPlayerResource();
mMediaPlayer = MediaPlayer.create(getActivity(), words.get(position).getMediaplayerId());
//request audiofocus
audioManager = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE);
int requestResult = audioManager.requestAudioFocus(mOnAudioFocusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
if (requestResult == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
mMediaPlayer.start();
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
releaseMediaPlayerResource();
}
});
}
}
});
return rootView;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment