Loading api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5092,6 +5092,7 @@ package android.media.tv.tuner { method public long getAvSyncTime(int); method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities(); method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo(); method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getFrontendInfoList(); method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]); method public int linkFrontendToCiCam(int); method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler(); Loading core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5032,6 +5032,7 @@ package android.media.tv.tuner { method public long getAvSyncTime(int); method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities(); method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo(); method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getFrontendInfoList(); method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]); method public int linkFrontendToCiCam(int); method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler(); Loading media/java/android/media/tv/tuner/Tuner.java +34 −1 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import com.android.internal.util.FrameworkStatsLog; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; Loading Loading @@ -369,6 +370,28 @@ public class Tuner implements AutoCloseable { mTunerResourceManager.setFrontendInfoList(infos); } /** * Get frontend info list from native and build them into a {@link FrontendInfo} list. Any * {@code null} FrontendInfo element would be removed. */ private FrontendInfo[] getFrontendInfoListInternal() { List<Integer> ids = getFrontendIds(); if (ids == null) { return null; } FrontendInfo[] infos = new FrontendInfo[ids.size()]; for (int i = 0; i < ids.size(); i++) { int id = ids.get(i); FrontendInfo frontendInfo = getFrontendInfoById(id); if (frontendInfo == null) { Log.e(TAG, "Failed to get a FrontendInfo on frontend id:" + id + "!"); continue; } infos[i] = frontendInfo; } return Arrays.stream(infos).filter(Objects::nonNull).toArray(FrontendInfo[]::new); } /** @hide */ public static int getTunerVersion() { return sTunerVersion; Loading Loading @@ -932,7 +955,7 @@ public class Tuner implements AutoCloseable { } /** * Gets the frontend information. * Gets the initialized frontend information. * * @return The frontend information. {@code null} if the operation failed. */ Loading @@ -950,6 +973,16 @@ public class Tuner implements AutoCloseable { return mFrontendInfo; } /** * Get a list all the existed frontend information. * * @return The list of all the frontend information. {@code null} if the operation failed. */ @Nullable public List<FrontendInfo> getFrontendInfoList() { return Arrays.asList(getFrontendInfoListInternal()); } /** @hide */ public FrontendInfo getFrontendInfoById(int id) { return nativeGetFrontendInfo(id); Loading media/java/android/media/tv/tuner/frontend/FrontendInfo.java +29 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,9 @@ import android.media.tv.tuner.frontend.FrontendSettings.Type; import android.media.tv.tuner.frontend.FrontendStatus.FrontendStatusType; import android.util.Range; import java.util.Arrays; import java.util.Objects; /** * This class is used to specify meta information of a frontend. * Loading Loading @@ -118,4 +121,30 @@ public class FrontendInfo { public FrontendCapabilities getFrontendCapabilities() { return mFrontendCap; } /** @hide */ @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof FrontendInfo)) { return false; } // TODO: compare FrontendCapabilities FrontendInfo info = (FrontendInfo) o; return mId == info.getId() && mType == info.getType() && Objects.equals(mFrequencyRange, info.getFrequencyRange()) && Objects.equals(mSymbolRateRange, info.getSymbolRateRange()) && mAcquireRange == info.getAcquireRange() && mExclusiveGroupId == info.getExclusiveGroupId() && Arrays.equals(mStatusCaps, info.getStatusCapabilities()); } /** @hide */ @Override public int hashCode() { return mId; } } Loading
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5092,6 +5092,7 @@ package android.media.tv.tuner { method public long getAvSyncTime(int); method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities(); method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo(); method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getFrontendInfoList(); method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]); method public int linkFrontendToCiCam(int); method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler(); Loading
core/api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -5032,6 +5032,7 @@ package android.media.tv.tuner { method public long getAvSyncTime(int); method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities(); method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo(); method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getFrontendInfoList(); method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]); method public int linkFrontendToCiCam(int); method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler(); Loading
media/java/android/media/tv/tuner/Tuner.java +34 −1 Original line number Diff line number Diff line Loading @@ -61,6 +61,7 @@ import com.android.internal.util.FrameworkStatsLog; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; Loading Loading @@ -369,6 +370,28 @@ public class Tuner implements AutoCloseable { mTunerResourceManager.setFrontendInfoList(infos); } /** * Get frontend info list from native and build them into a {@link FrontendInfo} list. Any * {@code null} FrontendInfo element would be removed. */ private FrontendInfo[] getFrontendInfoListInternal() { List<Integer> ids = getFrontendIds(); if (ids == null) { return null; } FrontendInfo[] infos = new FrontendInfo[ids.size()]; for (int i = 0; i < ids.size(); i++) { int id = ids.get(i); FrontendInfo frontendInfo = getFrontendInfoById(id); if (frontendInfo == null) { Log.e(TAG, "Failed to get a FrontendInfo on frontend id:" + id + "!"); continue; } infos[i] = frontendInfo; } return Arrays.stream(infos).filter(Objects::nonNull).toArray(FrontendInfo[]::new); } /** @hide */ public static int getTunerVersion() { return sTunerVersion; Loading Loading @@ -932,7 +955,7 @@ public class Tuner implements AutoCloseable { } /** * Gets the frontend information. * Gets the initialized frontend information. * * @return The frontend information. {@code null} if the operation failed. */ Loading @@ -950,6 +973,16 @@ public class Tuner implements AutoCloseable { return mFrontendInfo; } /** * Get a list all the existed frontend information. * * @return The list of all the frontend information. {@code null} if the operation failed. */ @Nullable public List<FrontendInfo> getFrontendInfoList() { return Arrays.asList(getFrontendInfoListInternal()); } /** @hide */ public FrontendInfo getFrontendInfoById(int id) { return nativeGetFrontendInfo(id); Loading
media/java/android/media/tv/tuner/frontend/FrontendInfo.java +29 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,9 @@ import android.media.tv.tuner.frontend.FrontendSettings.Type; import android.media.tv.tuner.frontend.FrontendStatus.FrontendStatusType; import android.util.Range; import java.util.Arrays; import java.util.Objects; /** * This class is used to specify meta information of a frontend. * Loading Loading @@ -118,4 +121,30 @@ public class FrontendInfo { public FrontendCapabilities getFrontendCapabilities() { return mFrontendCap; } /** @hide */ @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || !(o instanceof FrontendInfo)) { return false; } // TODO: compare FrontendCapabilities FrontendInfo info = (FrontendInfo) o; return mId == info.getId() && mType == info.getType() && Objects.equals(mFrequencyRange, info.getFrequencyRange()) && Objects.equals(mSymbolRateRange, info.getSymbolRateRange()) && mAcquireRange == info.getAcquireRange() && mExclusiveGroupId == info.getExclusiveGroupId() && Arrays.equals(mStatusCaps, info.getStatusCapabilities()); } /** @hide */ @Override public int hashCode() { return mId; } }