Fixed ringtone fragment!
This commit is contained in:
@@ -2,7 +2,8 @@
|
|||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical" >
|
android:orientation="vertical"
|
||||||
|
android:id="@+id/ringtone_fragment">
|
||||||
|
|
||||||
<include
|
<include
|
||||||
android:id="@+id/title_bar"
|
android:id="@+id/title_bar"
|
||||||
|
|||||||
@@ -6,19 +6,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.RickBarrette.android.LocationRinger.ui;
|
package org.RickBarrette.android.LocationRinger.ui;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Map.Entry;
|
|
||||||
|
|
||||||
import org.RickBarrette.android.LocationRinger.Constraints;
|
|
||||||
import org.RickBarrette.android.LocationRinger.EnableScrollingListener;
|
|
||||||
import org.RickBarrette.android.LocationRinger.Log;
|
|
||||||
import org.RickBarrette.android.LocationRinger.OnContentChangedListener;
|
|
||||||
import org.RickBarrette.android.LocationRinger.R;
|
|
||||||
import org.RickBarrette.android.LocationRinger.db.RingerDatabase;
|
|
||||||
import org.RickBarrette.android.LocationRinger.ui.fragments.AboutRingerFragment;
|
|
||||||
import org.RickBarrette.android.LocationRinger.ui.fragments.FeatureListFragment;
|
|
||||||
import org.RickBarrette.android.LocationRinger.ui.fragments.LocationInformationFragment;
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
@@ -34,10 +21,18 @@ import android.view.Menu;
|
|||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
|
||||||
import com.TwentyCodes.android.exception.ExceptionHandler;
|
import com.TwentyCodes.android.exception.ExceptionHandler;
|
||||||
import com.jakewharton.android.viewpagerindicator.TitlePageIndicator;
|
import com.jakewharton.android.viewpagerindicator.TitlePageIndicator;
|
||||||
import com.jakewharton.android.viewpagerindicator.TitledFragmentAdapter;
|
import com.jakewharton.android.viewpagerindicator.TitledFragmentAdapter;
|
||||||
|
import org.RickBarrette.android.LocationRinger.*;
|
||||||
|
import org.RickBarrette.android.LocationRinger.db.RingerDatabase;
|
||||||
|
import org.RickBarrette.android.LocationRinger.ui.fragments.AboutRingerFragment;
|
||||||
|
import org.RickBarrette.android.LocationRinger.ui.fragments.FeatureListFragment;
|
||||||
|
import org.RickBarrette.android.LocationRinger.ui.fragments.LocationInformationFragment;
|
||||||
|
import org.RickBarrette.android.LocationRinger.ui.fragments.RingtoneFragment;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This activity will handle displaying ringer options
|
* This activity will handle displaying ringer options
|
||||||
@@ -52,6 +47,7 @@ public class RingerInformationActivity extends FragmentActivity implements OnCon
|
|||||||
private Intent mData;
|
private Intent mData;
|
||||||
private ViewPager mPager;
|
private ViewPager mPager;
|
||||||
private LocationInformationFragment mLocationInfomationFragment;
|
private LocationInformationFragment mLocationInfomationFragment;
|
||||||
|
private Fragment mFragmentCallBack;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Logs the content values
|
* Logs the content values
|
||||||
@@ -274,4 +270,26 @@ public class RingerInformationActivity extends FragmentActivity implements OnCon
|
|||||||
mPager.setScrollEnabled(enabled);
|
mPager.setScrollEnabled(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles results from activities. checks for a call back
|
||||||
|
* @param requestCode
|
||||||
|
* @param resultCode
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
|
||||||
|
if(mFragmentCallBack != null) {
|
||||||
|
mFragmentCallBack.onActivityResult(requestCode, resultCode, data);
|
||||||
|
mFragmentCallBack = null;
|
||||||
|
} else
|
||||||
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets up a call back for a fragment
|
||||||
|
* @param fragmentCallBack
|
||||||
|
*/
|
||||||
|
public void setFragmentCallBack(RingtoneFragment fragmentCallBack) {
|
||||||
|
mFragmentCallBack = fragmentCallBack;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -6,14 +6,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.RickBarrette.android.LocationRinger.ui.fragments;
|
package org.RickBarrette.android.LocationRinger.ui.fragments;
|
||||||
|
|
||||||
import java.util.Map.Entry;
|
|
||||||
|
|
||||||
import org.RickBarrette.android.LocationRinger.FeatureRemovedListener;
|
|
||||||
import org.RickBarrette.android.LocationRinger.Log;
|
|
||||||
import org.RickBarrette.android.LocationRinger.OnContentChangedListener;
|
|
||||||
import org.RickBarrette.android.LocationRinger.R;
|
|
||||||
import org.RickBarrette.android.LocationRinger.db.RingerDatabase;
|
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
@@ -24,6 +16,7 @@ import android.media.Ringtone;
|
|||||||
import android.media.RingtoneManager;
|
import android.media.RingtoneManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.app.FragmentActivity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
@@ -32,6 +25,11 @@ import android.widget.EditText;
|
|||||||
import android.widget.SeekBar;
|
import android.widget.SeekBar;
|
||||||
import android.widget.SeekBar.OnSeekBarChangeListener;
|
import android.widget.SeekBar.OnSeekBarChangeListener;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import org.RickBarrette.android.LocationRinger.*;
|
||||||
|
import org.RickBarrette.android.LocationRinger.db.RingerDatabase;
|
||||||
|
import org.RickBarrette.android.LocationRinger.ui.RingerInformationActivity;
|
||||||
|
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This fragment will be for ringtone settings
|
* This fragment will be for ringtone settings
|
||||||
@@ -52,9 +50,10 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
|||||||
private EditText mRingtone;
|
private EditText mRingtone;
|
||||||
private Uri mRingtoneURI;
|
private Uri mRingtoneURI;
|
||||||
private SeekBar mVolume;
|
private SeekBar mVolume;
|
||||||
|
private Activity mActivity;
|
||||||
|
private String mTone;
|
||||||
|
|
||||||
public RingtoneFragment(final ContentValues info, final OnContentChangedListener changedListener, final FeatureRemovedListener removedListener, final int stream,
|
public RingtoneFragment(final ContentValues info, final OnContentChangedListener changedListener, final FeatureRemovedListener removedListener, final int stream, final int id) {
|
||||||
final int id) {
|
|
||||||
super(id, R.layout.ringtone_fragment, removedListener);
|
super(id, R.layout.ringtone_fragment, removedListener);
|
||||||
|
|
||||||
if (info == null)
|
if (info == null)
|
||||||
@@ -100,7 +99,15 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
|||||||
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
|
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, true);
|
||||||
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, false);
|
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, false);
|
||||||
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, uri);
|
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, uri);
|
||||||
startActivityForResult(intent, ringtoneCode);
|
|
||||||
|
if (Constraints.DEBUG)
|
||||||
|
Log.d(TAG, TAG + ".getRingtoneURI " + this.getFragmentId());
|
||||||
|
|
||||||
|
FragmentActivity activity = this.getActivity();
|
||||||
|
if ( activity instanceof RingerInformationActivity)
|
||||||
|
((RingerInformationActivity) activity).setFragmentCallBack(this);
|
||||||
|
|
||||||
|
mActivity.startActivityForResult(intent, ringtoneCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -139,6 +146,9 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
|
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
|
||||||
|
if (Constraints.DEBUG)
|
||||||
|
Log.d(TAG, "onActivityResult");
|
||||||
|
|
||||||
if (resultCode == Activity.RESULT_OK) {
|
if (resultCode == Activity.RESULT_OK) {
|
||||||
final Uri tone = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
|
final Uri tone = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
|
||||||
if (tone == null) {
|
if (tone == null) {
|
||||||
@@ -148,8 +158,9 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
|||||||
notifyVolumeChanged(0);
|
notifyVolumeChanged(0);
|
||||||
} else {
|
} else {
|
||||||
mVolume.setEnabled(true);
|
mVolume.setEnabled(true);
|
||||||
final Ringtone ringtone = RingtoneManager.getRingtone(getActivity(), Uri.parse(tone.toString()));
|
|
||||||
mRingtone.setText(ringtone.getTitle(getActivity()));
|
final Ringtone ringtone = RingtoneManager.getRingtone(mActivity, Uri.parse(tone.toString()));
|
||||||
|
mTone = ringtone.getTitle(mActivity);
|
||||||
}
|
}
|
||||||
|
|
||||||
notifyRingtoneChanged(tone);
|
notifyRingtoneChanged(tone);
|
||||||
@@ -234,6 +245,7 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
|||||||
setIcon(mVolume.getProgress() == 0 ? R.drawable.ic_action_silent : R.drawable.ic_action_volume);
|
setIcon(mVolume.getProgress() == 0 ? R.drawable.ic_action_silent : R.drawable.ic_action_volume);
|
||||||
|
|
||||||
mVolume.setOnSeekBarChangeListener(this);
|
mVolume.setOnSeekBarChangeListener(this);
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,4 +263,19 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
|||||||
public void onStopTrackingTouch(final SeekBar seekBar) {
|
public void onStopTrackingTouch(final SeekBar seekBar) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttach(Activity activity) {
|
||||||
|
super.onAttach(activity);
|
||||||
|
mActivity = activity;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume(){
|
||||||
|
if(mTone != null){
|
||||||
|
mRingtone.setText(mTone);
|
||||||
|
mTone = null;
|
||||||
|
}
|
||||||
|
super.onResume();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user