Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9bb3988 authored by Calvin On's avatar Calvin On Committed by android-build-merger
Browse files

Merge \\"Use the live AdapterService in ProfileService.\\" into nyc-mr1-dev am: ae20236e

am: 0d3d71c1

Change-Id: I5e4c2418c646812e880662d861b84a5b7bdc9589
parents 77306365 0d3d71c1
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -327,9 +327,11 @@ public class AdapterService extends Service {


    public void addProfile(ProfileService profile) {
    public void addProfile(ProfileService profile) {
        synchronized (mProfiles) {
        synchronized (mProfiles) {
            if (!mProfiles.contains(profile)) {
                mProfiles.add(profile);
                mProfiles.add(profile);
            }
            }
        }
        }
    }


    public void removeProfile(ProfileService profile) {
    public void removeProfile(ProfileService profile) {
        synchronized (mProfiles) {
        synchronized (mProfiles) {
+15 −13
Original line number Original line Diff line number Diff line
@@ -53,8 +53,6 @@ public abstract class ProfileService extends Service {
    protected boolean mStartError=false;
    protected boolean mStartError=false;
    private boolean mCleaningUp = false;
    private boolean mCleaningUp = false;


    private AdapterService mAdapterService;

    protected String getName() {
    protected String getName() {
        return getClass().getSimpleName();
        return getClass().getSimpleName();
    }
    }
@@ -107,16 +105,17 @@ public abstract class ProfileService extends Service {
        super.onCreate();
        super.onCreate();
        mAdapter = BluetoothAdapter.getDefaultAdapter();
        mAdapter = BluetoothAdapter.getDefaultAdapter();
        mBinder = initBinder();
        mBinder = initBinder();
        mAdapterService = AdapterService.getAdapterService();
        if (mAdapterService != null) {
            mAdapterService.addProfile(this);
        } else {
            Log.w(TAG, "onCreate, null mAdapterService");
        }
    }
    }


    public int onStartCommand(Intent intent, int flags, int startId) {
    public int onStartCommand(Intent intent, int flags, int startId) {
        if (DBG) log("onStartCommand()");
        if (DBG) log("onStartCommand()");
        AdapterService adapterService = AdapterService.getAdapterService();
        if (adapterService != null) {
            adapterService.addProfile(this);
        } else {
            Log.w(TAG, "Could not add this profile because AdapterService is null.");
        }

        if (mStartError || mAdapter == null) {
        if (mStartError || mAdapter == null) {
            Log.w(mName, "Stopping profile service: device does not have BT");
            Log.w(mName, "Stopping profile service: device does not have BT");
            doStop(intent);
            doStop(intent);
@@ -176,7 +175,8 @@ public abstract class ProfileService extends Service {
    @Override
    @Override
    public void onDestroy() {
    public void onDestroy() {
        if (DBG) log("Destroying service.");
        if (DBG) log("Destroying service.");
        if (mAdapterService != null) mAdapterService.removeProfile(this);
        AdapterService adapterService = AdapterService.getAdapterService();
        if (adapterService != null) adapterService.removeProfile(this);


        if (mCleaningUp) {
        if (mCleaningUp) {
            if (DBG) log("Cleanup already started... Skipping cleanup()...");
            if (DBG) log("Cleanup already started... Skipping cleanup()...");
@@ -220,15 +220,17 @@ public abstract class ProfileService extends Service {


    protected void notifyProfileServiceStateChanged(int state) {
    protected void notifyProfileServiceStateChanged(int state) {
        //Notify adapter service
        //Notify adapter service
        if (mAdapterService != null) {
        AdapterService adapterService = AdapterService.getAdapterService();
            mAdapterService.onProfileServiceStateChanged(getClass().getName(), state);
        if (adapterService != null) {
            adapterService.onProfileServiceStateChanged(getClass().getName(), state);
        }
        }
    }
    }


    public void notifyProfileConnectionStateChanged(BluetoothDevice device,
    public void notifyProfileConnectionStateChanged(BluetoothDevice device,
            int profileId, int newState, int prevState) {
            int profileId, int newState, int prevState) {
        if (mAdapterService != null) {
        AdapterService adapterService = AdapterService.getAdapterService();
            mAdapterService.onProfileConnectionStateChanged(device, profileId, newState, prevState);
        if (adapterService != null) {
            adapterService.onProfileConnectionStateChanged(device, profileId, newState, prevState);
        }
        }
    }
    }