Fixed ringtone fragment!
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical" >
|
||||
android:orientation="vertical"
|
||||
android:id="@+id/ringtone_fragment">
|
||||
|
||||
<include
|
||||
android:id="@+id/title_bar"
|
||||
|
||||
@@ -6,19 +6,6 @@
|
||||
*/
|
||||
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.app.Activity;
|
||||
import android.app.ProgressDialog;
|
||||
@@ -34,10 +21,18 @@ import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import com.TwentyCodes.android.exception.ExceptionHandler;
|
||||
import com.jakewharton.android.viewpagerindicator.TitlePageIndicator;
|
||||
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
|
||||
@@ -52,6 +47,7 @@ public class RingerInformationActivity extends FragmentActivity implements OnCon
|
||||
private Intent mData;
|
||||
private ViewPager mPager;
|
||||
private LocationInformationFragment mLocationInfomationFragment;
|
||||
private Fragment mFragmentCallBack;
|
||||
|
||||
/**
|
||||
* Logs the content values
|
||||
@@ -274,4 +270,26 @@ public class RingerInformationActivity extends FragmentActivity implements OnCon
|
||||
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;
|
||||
|
||||
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.app.Activity;
|
||||
import android.content.ContentValues;
|
||||
@@ -24,6 +16,7 @@ import android.media.Ringtone;
|
||||
import android.media.RingtoneManager;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
@@ -32,6 +25,11 @@ import android.widget.EditText;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.SeekBar.OnSeekBarChangeListener;
|
||||
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
|
||||
@@ -52,9 +50,10 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
||||
private EditText mRingtone;
|
||||
private Uri mRingtoneURI;
|
||||
private SeekBar mVolume;
|
||||
private Activity mActivity;
|
||||
private String mTone;
|
||||
|
||||
public RingtoneFragment(final ContentValues info, final OnContentChangedListener changedListener, final FeatureRemovedListener removedListener, final int stream,
|
||||
final int id) {
|
||||
public RingtoneFragment(final ContentValues info, final OnContentChangedListener changedListener, final FeatureRemovedListener removedListener, final int stream, final int id) {
|
||||
super(id, R.layout.ringtone_fragment, removedListener);
|
||||
|
||||
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_DEFAULT, false);
|
||||
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
|
||||
public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
|
||||
if (Constraints.DEBUG)
|
||||
Log.d(TAG, "onActivityResult");
|
||||
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
final Uri tone = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
|
||||
if (tone == null) {
|
||||
@@ -148,8 +158,9 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
||||
notifyVolumeChanged(0);
|
||||
} else {
|
||||
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);
|
||||
@@ -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);
|
||||
|
||||
mVolume.setOnSeekBarChangeListener(this);
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@@ -251,4 +263,19 @@ public class RingtoneFragment extends BaseFeatureFragment implements OnClickList
|
||||
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