dsnoop.conf - General Questions and Answers

# # dsnoop # pcm.!dsnoop { @args [ CARD DEV SUBDEV FORMAT RATE ] @args.CARD { type string default { @func refer name defaults.pcm.dsnoop.card } } @args.DEV { type integer default { @func refer name defaults.pcm.dsnoop.device } } @args.SUBDEV { type integer default 0 } @args.FORMAT { type string default { @func refer name defaults.pcm.dmix.format } } @args.RATE { type integer default { @func refer name defaults.pcm.dmix.rate } } type dsnoop ipc_key { @func refer name defaults.pcm.ipc_key } ipc_gid { @func refer name defaults.pcm.ipc_gid } ipc_perm { @func refer name defaults.pcm.ipc_perm } slave { pcm { type hw card $CARD device $DEV subdevice $SUBDEV } format $FORMAT rate $RATE period_size { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.period_size" ] } default 1024 } period_time { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.period_time" ] } default -1 } periods { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.periods" ] } default 16 } } hint { show { @func refer name defaults.namehint.extended } description "Direct sample snooping device" device $DEV } }
Hello XDA. I am a noob and have little experience at best with these type of files and the content within them. I found this document in es explorer and have no idea how it arrived there. However, I do have a grasp on what the word snoop means. Whether it's nothing or something, I would greatly appreciate any insight from a member belonging to this site to shed some light on what this in particular document is saying, as well as what dsnoop represents and why it exists. I may be getting overly concerned for no reason but some schooling from XDA would be huge. Thank u

Related

[Q][VB.NET] Access remote XML services

EDIT: Development continued Working hard
Hello everyone
I'm trying to port my WIP Infosode from Android (Adobe AIR) to Windows Phone 7, and I have some big problems figuring out how to access a remote XML service, in this case http://services.tvrage.com/
I've used Visual Basic .NET for both desktop and Windows Mobile applications and now for WP7, so I got some VB.NET experience.
Any help is appreciated and will be noted in the finished application.
Regards
//
IzaacJ
Here is one somewhat dirty way.
Download your data (xml) into the isolated storage. After that process the xml file stored.
Code:
WebClient client = new WebClient();
client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
client.DownloadStringAsync(new Uri("http://path.to/the/" + item + ".xml/"));
static void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
// If we have results
if (!string.IsNullOrEmpty(e.Result))
{
#region Save to Isolated Storage
try
{
// Isolated Storage Directory
string xmlStorageDirectory = "Profiles";
using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
{
// File Path
string filePath = Path.Combine(xmlStorageDirectory, String.Format("{0}.xml", ActiveID));
// Check if the Directory exists. If not create it
if (!store.DirectoryExists(xmlStorageDirectory))
{
store.CreateDirectory(xmlStorageDirectory);
}
// Use Isolated Storeage to write the file
using (IsolatedStorageFileStream fileStream = new IsolatedStorageFileStream(filePath, FileMode.Create, store))
{
// Use the stream to write the file
using (StreamWriter stream = new StreamWriter(fileStream))
{
stream.Write(e.Result.Replace(" & ", " & "));
}
}
}
}
// OMG EXCEPTIONS :(
catch (IsolatedStorageException exception)
{
throw exception;
}
#endregion
#region Reading
using (var appStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var file = appStorage.OpenFile("Profiles/" + ActiveID + ".xml", FileMode.Open))
{
XmlReader reader = XmlReader.Create(file);
CharacterDataModel profile = new CharacterDataModel();
List<PlayerTraitsModel> traits = new List<PlayerTraitsModel>();
PlayerTraitsModel trait = new PlayerTraitsModel();
bool isCdata = false;
bool isPdata = false;
// While we read the data
while (reader.Read())
{
#region Character
if (reader.Name == "cdata") isCdata = true;
if (isCdata)
{
if (reader.NodeType == XmlNodeType.Element)
{
#region Check for the following values and shallow copy that to the model
//string item = reader.ReadElementContentAsString();
switch (reader.Name)
{
case "id":
profile.id = reader.ReadElementContentAsString();
break;
}
#endregion
}
}
if (reader.NodeType == XmlNodeType.EndElement && reader.Name.Contains("cdata"))
isCdata = false;
#endregion
}
}
}
#endregion
}
}
Thanks for that
Will try to adopt it to VB.NET and see if it will work
At least it's something that I could use until I find a better way.
Regards
Hi,
Use the OpenReadCompleted event of the WebClient, and then put the result into an XDocument by using an XmlReader; from there it's easy to process it (using LINQ to XML) without having to store the XML anywhere first (i.e. do it all in memory). Here's kind of how I do it C#.
Code:
WebClient client = new WebClient();
// Set up the 'completed' event before loading anything
client.OpenReadCompleted += (sender, e) =>
{
if (e.Error != null)
{
if (e.Error is WebException)
{
... Either a connection error, or an invalid status code has been returned. You can determine which using code.
}
else
... // some other exception
return;
}
// Turn the result into an XDocument and parse using LINQ
try
{
Stream aStream = e.Result;
XmlReader anXmlStream = XmlReader.Create(aStream);
XDocument ourXDocument = XDocument.Load(anXmlStream);
// Parse the XML here - best to use 'Linq to XML' to do it
List<TvShow> TVShows = from aShow in ourXDocument.Descendants("show")
select new TvShow() {
ShowName = aShow.Element("name").Value,
Link = aShow.Element("link").Value
};
//////////////////
str.Close();
// if here it all went to plan
}
catch (XmlException xe)
{
...
}
catch (Exception ge)
{
...
}
};
// Here's the bit that actually sets it going
try
{
client.OpenReadAsync(new Uri(URL, UriKind.Absolute));
}
catch (OutOfMemoryException)
{
... Handle the exception
}
catch (StackOverflowException)
{
... Handle the exception
}
catch (Exception ge)
{
... Handle the exception
}
If you're doing this kind of thing a lot it's good to set it up as reusable class that either has it's own events (e.g. ItemsLoaded, ErrorOccured, and ProcessItems) that can be subscribed to, or if you prefer you can have them as methods to override so that you can use it as a web service loading base class from which you can inherit.
Hope that helps. Good luck with it
Ian
otherworld said:
Hi,
Use the OpenReadCompleted event of the WebClient, and then put the result into an XDocument by using an XmlReader; from there it's easy to process it (using LINQ to XML) without having to store the XML anywhere first (i.e. do it all in memory). Here's kind of how I do it C#.
Code:
WebClient client = new WebClient();
// Set up the 'completed' event before loading anything
client.OpenReadCompleted += (sender, e) =>
{
if (e.Error != null)
{
if (e.Error is WebException)
{
... Either a connection error, or an invalid status code has been returned. You can determine which using code.
}
else
... // some other exception
return;
}
// Turn the result into an XDocument and parse using LINQ
try
{
Stream aStream = e.Result;
XmlReader anXmlStream = XmlReader.Create(aStream);
XDocument ourXDocument = XDocument.Load(anXmlStream);
// Parse the XML here - best to use 'Linq to XML' to do it
List<TvShow> TVShows = from aShow in ourXDocument.Descendants("show")
select new TvShow() {
ShowName = aShow.Element("name").Value,
Link = aShow.Element("link").Value
};
//////////////////
str.Close();
// if here it all went to plan
}
catch (XmlException xe)
{
...
}
catch (Exception ge)
{
...
}
};
// Here's the bit that actually sets it going
try
{
client.OpenReadAsync(new Uri(URL, UriKind.Absolute));
}
catch (OutOfMemoryException)
{
... Handle the exception
}
catch (StackOverflowException)
{
... Handle the exception
}
catch (Exception ge)
{
... Handle the exception
}
If you're doing this kind of thing a lot it's good to set it up as reusable class that either has it's own events (e.g. ItemsLoaded, ErrorOccured, and ProcessItems) that can be subscribed to, or if you prefer you can have them as methods to override so that you can use it as a web service loading base class from which you can inherit.
Hope that helps. Good luck with it
Ian
Click to expand...
Click to collapse
Thanks
I'm building a class with functions for fetching and storing the returned XML requests.
It's smart to store it in the IsoStorage so that the data is available offline as well and it will only download the new XML's if it's updated on the server
I think it will make the application a bit more useful.
Regards
EDIT: I've tried to port the first example from MJCS to VB.Net without success. The app closes itself when it's supposed to search and get results from the server. The URL to the generated XML (including parameters) is http://services.tvrage.com/feeds/search.php?key=[MY_API_KEY]&show=[SHOW_NAME]
The code as for now is this:
Code:
Public Function Search(ByVal SearchString As String) As String
Dim Url As New Uri(XMLUrl & "feeds/search.php?key=" & APIKey & "&show=" & SearchString)
'XMLUrl = http://services.tvrage.com/
'APIKey = My API key from TVRage.com
'SearchString = The showname to be searched for in the database
XML.DownloadStringAsync(Url)
Return 0
End Function
Any ideas?
Regards

[Q] Alawyas report network not available when using NewtorkInfo program

0 down vote favorite
share [g+] share [fb] share [tw]
I have wrote a program to check if the network is available or not. Here is my simple code:
Code:
public boolean isNetworkAvailable() {
Context context = getApplicationContext();
ConnectivityManager connectivity=ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
boitealerte(this.getString(R.string.alert),"getSystemService rend null");
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
I run it on my Android phone, it always returns false but the network is available and I can make calls. Any suggestions>.

dsnoop.conf

# # dsnoop # pcm.!dsnoop { @args [ CARD DEV SUBDEV FORMAT RATE ] @args.CARD { type string default { @func refer name defaults.pcm.dsnoop.card } } @args.DEV { type integer default { @func refer name defaults.pcm.dsnoop.device } } @args.SUBDEV { type integer default 0 } @args.FORMAT { type string default { @func refer name defaults.pcm.dmix.format } } @args.RATE { type integer default { @func refer name defaults.pcm.dmix.rate } } type dsnoop ipc_key { @func refer name defaults.pcm.ipc_key } ipc_gid { @func refer name defaults.pcm.ipc_gid } ipc_perm { @func refer name defaults.pcm.ipc_perm } slave { pcm { type hw card $CARD device $DEV subdevice $SUBDEV } format $FORMAT rate $RATE period_size { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.period_size" ] } default 1024 } period_time { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.period_time" ] } default -1 } periods { @func refer name { @func concat strings [ "cards." { @func card_driver card $CARD } ".pcm.dsnoop.periods" ] } default 16 } } hint { show { @func refer name defaults.namehint.extended } description "Direct sample snooping device" device $DEV } }
Hello XDA. I am a noob and have little experience at best with these type of files and the content within them. I found this document in es explorer and have no idea how it arrived there. However, I do have a grasp on what the word snoop means. Whether it's nothing or something, I would greatly appreciate any insight from a member belonging to this site to shed some light on what this in particular document is saying, as well as what dsnoop represents and why it exists. I may be getting overly concerned for no reason but some schooling from XDA would be huge. Thank u.

Question Trying to make Viper4Android work (S908E)

Hi. I have a S908E (rooted snapdragon) and I'm trying for more than a week, nonstop, to make Viper4Android work in my device. It keepa asking for drivers everytime I open the app.
At first, I tried every post that I could find where people said that it worked. That includes several modules and V4A apps/zip, like: Audio Modification Library, JamesDSP, Audio Compatibility Patch, Viper4AndroidFX app, V4A 2.7.2.1, Shadowstep fix. And some other .zip fixes to flash via magisk.
Always removing every audio module and uninstalling V4A for each try. Got no result, Viper4Android still asks for drivers.
So, I realised that to get it to work, i need to know what exactly is the source of the problem in my phone and how to fix it.
With help of other users, I got to know a bit more about v4a and its files.
It seems the main files are audio_effects.xml and audio_effects.conf.
The folders that has the .xml file are vendor/etc and vendor/etc/audio/sku_taro. System/vendor is the same as vendor/
Ok, I noticed that my files inside sku_taro didn't had any line related to v4a. So I got those files from vendor/etc and copied them inside sku_taro (via magisk, since I can't edit files there). Didn't work.
I noticed another issue: audio_effects.conf isn't modified to V4A and I'm not sure if it should. The V4A system folder in data/adb/modules/ doesn't have this .conf file. However, my S21+ (exynos) that had v4a working had this file with v4a lines.
So, my first question to keep going in this odyssey is: should audio_effects.conf be modified with V4A lines and should it be present in vendor/etc as well?
EDIT: Also, what should it have modified?
It isn't the same code as in my S21+ (tried that already).
If prints of the codes of the files or the content of foldera are needed, I can post here.
No one? Come on, let's make this amazing module work in our Snapdragons!
Ok, I'm sharing my audio_effects.conf files, in the case someone who understand better than me to give opinions.
This is the file that i got from a S21+ (Exynos) with working V4A:
Spoiler
libraries {
v4a_fx {
path /vendor/lib/soundfx/libv4a_fx.so
}
soundbooster_plus {
path /system/lib/libsamsungSoundbooster_plus_legacy.so
}
soundalive_sec {
path /system/lib/libaudiosaplus_sec_legacy.so
}
mysound {
path /system/lib/libmysound_legacy.so
}
dap {
path /system/lib/libswdap_legacy.so
}
tdm {
path /system/lib/libsamsungSoundbooster_tdm_legacy.so
}
volumemonitor {
path /system/lib/libvolumemonitor_energy.so
}
voicechanger {
path /system/lib/libvoicechanger.so
}
dht {
path /system/lib/libswdht_legacy.so
}
}
effects {
v4a_standard_fx {
library v4a_fx
uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
}
soundbooster_plus {
library soundbooster_plus
uuid 50de45f0-5d4c-11e5-a837-0800200c9a66
}
soundalive {
library soundalive_sec
uuid cf65eb39-ce2f-48a8-a903-ceb818c06745
}
dha {
library mysound
uuid 263a88e0-50b1-11e2-bcfd-0800200c9a66
}
dolby {
library dap
uuid 6ab06da4-c516-4611-8166-452799218539
}
dlb_ht {
library dht
uuid b247dfc9-2832-4486-92c0-2db27a3785f5
}
tdm {
library tdm
uuid beb1d058-916a-4adf-9cfe-54ee5ba8c4a5
}
volumemonitor {
library volumemonitor
uuid 16311c29-bb53-4415-b7af-ae653e812de8
}
voicechanger {
library voicechanger
uuid 25c30101-9542-451f-a064-c3198e187dfc
}
}
And this is the audio_effects.conf that was present in my S22U (Snapdragon) inside vendor/etc/audio/sku_taro:
I added the V4A lines marked (Bolded,underlined and red), with the same code from the file that were inside the S21+ (the file was named audio_effects_common.conf in Exynos, I renamed to audio_effects.conf before pasting in the S22U) file, and pasted the file inside vendor/etc as well, but got no luck:
Spoiler
# List of effect libraries to load. Each library element must contain a "path" element
# giving the full path of the library .so file.
# libraries {
# <lib name> {
# path <lib path>
# }
# }
libraries {
v4a_fx {
path /vendor/lib/soundfx/libv4a_fx.so
}
bundle {
path /vendor/lib/soundfx/libbundlewrapper.so
}
reverb {
path /vendor/lib/soundfx/libreverbwrapper.so
}
qcbassboost {
path /vendor/lib/soundfx/libqcbassboost.so
}
qcvirt {
path /vendor/lib/soundfx/libqcvirt.so
}
qcreverb {
path /vendor/lib/soundfx/libqcreverb.so
}
visualizer_sw {
path /vendor/lib/soundfx/libvisualizer.so
}
visualizer_hw {
path /vendor/lib/soundfx/libqcomvisualizer.so
}
downmix {
path /vendor/lib/soundfx/libdownmix.so
}
loudness_enhancer {
path /vendor/lib/soundfx/libldnhncr.so
}
dynamics_processing {
path /vendor/lib/soundfx/libdynproc.so
}
proxy {
path /vendor/lib/soundfx/libeffectproxy.so
}
offload_bundle {
path /vendor/lib/soundfx/libqcompostprocbundle.so
}
audio_pre_processing {
path /vendor/lib/soundfx/libqcomvoiceprocessing.so
}
volume_listener {
path /vendor/lib/soundfx/libvolumelistener.so
}
audiosphere {
path /vendor/lib/soundfx/libasphere.so
}
}
# Default pre-processing library. Add to audio_effect.conf "libraries" section if
# audio HAL implements support for default software audio pre-processing effects
#
# pre_processing {
# path /vendor/lib/soundfx/libaudiopreprocessing.so
# }
# list of effects to load. Each effect element must contain a "library" and a "uuid" element.
# The value of the "library" element must correspond to the name of one library element in the
# "libraries" element.
# The name of the effect element is indicative, only the value of the "uuid" element
# designates the effect.
# The uuid is the implementation specific UUID as specified by the effect vendor. This is not the
# generic effect type UUID.
# effects {
# <fx name> {
# library <lib name>
# uuid <effect uuid>
# }
# ...
# }
effects {
# additions for the proxy implementation
# Proxy implementation
#effectname {
#library proxy
#uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# SW implemetation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libsw {
#library libSW
#uuid yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
#} End of SW effect
# HW implementation of the effect. Added as a node under the proxy to
# indicate this as a sub effect.
#libhw {
#library libHW
#uuid zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz
#}End of HW effect
#} End of effect proxy
v4a_standard_fx {
library v4a_fx
uuid 41d3c987-e6cf-11e3-a88a-11aba5d5c51b
}
bassboost {
library proxy
uuid 14804144-a5ee-4d24-aa88-0002a5d5c51b
libsw {
library qcbassboost
uuid 23aca180-44bd-11e2-bcfd-0800200c9a66
}
libhw {
library offload_bundle
uuid 2c4a8c24-1581-487f-94f6-0002a5d5c51b
}
}
virtualizer {
library proxy
uuid d3467faa-acc7-4d34-acaf-0002a5d5c51b
libsw {
library qcvirt
uuid e6c98a16-22a3-11e2-b87b-f23c91aec05e
}
libhw {
library offload_bundle
uuid 509a4498-561a-4bea-b3b1-0002a5d5c51b
}
}
equalizer {
library proxy
uuid c8e70ecd-48ca-456e-8a4f-0002a5d5c51b
libsw {
library bundle
uuid ce772f20-847d-11df-bb17-0002a5d5c51b
}
libhw {
library offload_bundle
uuid a0dac280-401c-11e3-9379-0002a5d5c51b
}
}
volume {
library bundle
uuid 119341a0-8469-11df-81f9-0002a5d5c51b
}
reverb_env_aux {
library proxy
uuid 48404ac9-d202-4ccc-bf84-0002a5d5c51b
libsw {
library qcreverb
uuid a8c1e5f3-293d-43cd-95ec-d5e26c02e217
}
libhw {
library offload_bundle
uuid 79a18026-18fd-4185-8233-0002a5d5c51b
}
}
reverb_env_ins {
library proxy
uuid b707403a-a1c1-4291-9573-0002a5d5c51b
libsw {
library qcreverb
uuid 791fff8b-8129-4655-83a4-59bc61034c3a
}
libhw {
library offload_bundle
uuid eb64ea04-973b-43d2-8f5e-0002a5d5c51b
}
}
reverb_pre_aux {
library proxy
uuid 1b78f587-6d1c-422e-8b84-0002a5d5c51b
libsw {
library qcreverb
uuid 53ef1db5-c0c0-445b-b060-e34d20ebb70a
}
libhw {
library offload_bundle
uuid 6987be09-b142-4b41-9056-0002a5d5c51b
}
}
reverb_pre_ins {
library proxy
uuid f3e178d2-ebcb-408e-8357-0002a5d5c51b
libsw {
library qcreverb
uuid b08a0e38-22a5-11e2-b87b-f23c91aec05e
}
libhw {
library offload_bundle
uuid aa2bebf6-47cf-4613-9bca-0002a5d5c51b
}
}
visualizer {
library proxy
uuid 1d0a1a53-7d5d-48f2-8e71-27fbd10d842c
libsw {
library visualizer_sw
uuid d069d9e0-8329-11df-9168-0002a5d5c51b
}
libhw {
library visualizer_hw
uuid 7a8044a0-1a71-11e3-a184-0002a5d5c51b
}
}
downmix {
library downmix
uuid 93f04452-e4fe-41cc-91f9-e475b6d1d69f
}
hw_acc {
library offload_bundle
uuid 7d1580bd-297f-4683-9239-e475b6d1d69f
}
loudness_enhancer {
library loudness_enhancer
uuid fa415329-2034-4bea-b5dc-5b381c8d1e2c
}
dynamics_processing {
library dynamics_processing
uuid e0e6539b-1781-7261-676f-6d7573696340
}
aec {
library audio_pre_processing
uuid 0f8d0d2a-59e5-45fe-b6e4-248c8a799109
}
ns {
library audio_pre_processing
uuid 1d97bb0b-9e2f-4403-9ae3-58c2554306f8
}
music_helper {
library volume_listener
uuid 08b8b058-0590-11e5-ac71-0025b32654a0
}
ring_helper {
library volume_listener
uuid 0956df94-0590-11e5-bdbe-0025b32654a0
}
alarm_helper {
library volume_listener
uuid 09f303e2-0590-11e5-8fdb-0025b32654a0
}
# voice_helper is called when stream type is voice_call in VoIP usecase
voice_helper {
library volume_listener
uuid 0ace5c08-0590-11e5-ae9e-0025b32654a0
}
notification_helper {
library volume_listener
uuid 0b776dde-0590-11e5-81ba-0025b32654a0
}
audiosphere {
library audiosphere
uuid 184e62ab-2d19-4364-9d1b-c0a40733866c
}
}
# additional effect from vendor
# UUID generated using version 1
output_session_processing {
music {
music_helper {
}
}
ring {
ring_helper {
}
}
alarm {
alarm_helper {
}
}
# stream type voice_call is used for VoIP call
voice_call {
voice_helper {
}
}
notification {
notification_helper {
}
}
}
# Added aec, ns effects for voice_communication, which are supported by the board
pre_processing {
voice_communication {
aec {
}
ns {
}
}
}
# Default pre-processing effects. Add to audio_effect.conf "effects" section if
# audio HAL implements support for them.
#
# agc {
# library pre_processing
# uuid aa8130e0-66fc-11e0-bad0-0002a5d5c51b
# }
# aec {
# library pre_processing
# uuid bb392ec0-8d4d-11e0-a896-0002a5d5c51b
# }
# ns {
# library pre_processing
# uuid c06c8400-8e06-11e0-9cb6-0002a5d5c51b
# }
# Audio preprocessor configurations.
# The pre processor configuration consists in a list of elements each describing
# pre processor settings for a given input source. Valid input source names are:
# "mic", "camcorder", "voice_recognition", "voice_communication"
# Each input source element contains a list of effects elements. The name of the effect
# element must be the name of one of the effects in the "effects" list of the file.
# Each effect element may optionally contain a list of parameters and their
# default value to apply when the pre processor effect is created.
# A parameter is defined by a "param" element and a "value" element. Each of these elements
# consists in one or more elements specifying a type followed by a value.
# The types defined are: "int", "short", "float", "bool" and "string"
# When both "param" and "value" are a single int, a simple form is allowed where just
# the param and value pair is present in the parameter description
# pre_processing {
# <input source name> {
# <fx name> {
# <param 1 name> {
# param {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# value {
# int|short|float|bool|string <value>
# [ int|short|float|bool|string <value> ]
# ...
# }
# }
# <param 2 name > {<param> <value>}
# ...
# }
# ...
# }
# ...
# }
#
# TODO: add default audio pre processor configurations after debug and tuning phase
#
System is still "Read Only"
So no luck achieving this yet. We gotta wait till a Kernel comes around.
JazonX said:
System is still "Read Only"
So no luck achieving this yet. We gotta wait till a Kernel comes around.
Click to expand...
Click to collapse
Hm, what you mean? Can't we go around that with magisk? I was able to edit file systems. Doesn't V4A just need to read them?
Also, the S21+ also seems to have a RO system (couldn't even rename files inside vendor) and V4A worked just fine.
JazonX said:
System is still "Read Only"
So no luck achieving this yet. We gotta wait till a Kernel comes around.
Click to expand...
Click to collapse
Just flashed Aurora ROM, which has RW System, and I still got driver installation loop. Are you sure this is the cause?
In terms of v4a i had to modify post-fs-data to get it working although i didnt had driver installation looping
Be_Cruel. said:
In terms of v4a i had to modify post-fs-data to get it working although i didnt had driver installation looping
Click to expand...
Click to collapse
Is your device Exynos or SD? Because exynos doesn't seem to hve this issue. I tried editing post-fs-data.sh as well...
ffp. said:
Is your device Exynos or SD? Because exynos doesn't seem to hve this issue. I tried editing post-fs-data.sh as well...
Click to expand...
Click to collapse
Yea i do have exy
Any inroads to v4a working on the s908e....?
Why this device having issues when v4a works fine on other snapdragon devices.
elmor0 said:
Any inroads to v4a working on the s908e....?
Why this device having issues when v4a works fine on other snapdragon devices.
Click to expand...
Click to collapse
Any working link for a newer version ?
I have System R/W now. I can check.
I've tried with R/W (permissive kernel & TWRP) - still get v4a install driver loop.
How did you get System R/W?
Links wise, try:
https://zackptg5.com/downloads/v4afx_v2.7.2.1.zip
GitHub - programminghoch10/ViPER4AndroidRepackaged: A refined ViPER4Android installer.
A refined ViPER4Android installer. Contribute to programminghoch10/ViPER4AndroidRepackaged development by creating an account on GitHub.
github.com
ViPER4Android Updates
- Improved loading logic for convolution files - Fixed an issue when installing the module on older Magisk versions - Bug fixes - Stability improvements Check out XDA for the release notes
t.me
Please let me know how it goes.

How to prevent opening status bar menu in android on Api 31

I could prevent opening the status bar in < API 31 , but in API 31 doesn't work
some codes are deprecated in this version like :
Code:
val closeIntent = Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS)
I used this code to prevent opening the status bar drawer :
JavaScript:
// To keep track of activity's window focus
var currentFocus = false
// To keep track of activity's foreground/background status
var isPaused = false
lateinit var collapseNotificationHandler: Handler
fun collapseNow() {
collapseNotificationHandler = Handler()
if (!currentFocus && !isPaused) {
collapseNotificationHandler.postDelayed(object : Runnable {
override fun run() {
// Use reflection to trigger a method from 'StatusBarManager'
val statusBarService = getSystemService("statusbar")
var statusBarManager: Class<*>? = null
try {
statusBarManager = Class.forName("android.app.StatusBarManager")
} catch (e: ClassNotFoundException) {
e.printStackTrace()
}
var collapseStatusBar: Method? = null
try {
// Prior to API 17, the method to call is 'collapse()'
// API 17 onwards, the method to call is `collapsePanels()`
collapseStatusBar = if (Build.VERSION.SDK_INT > 16) {
statusBarManager!!.getMethod("collapsePanels")
} else {
statusBarManager!!.getMethod("collapse")
}
} catch (e: NoSuchMethodException) {
e.printStackTrace()
}
if (collapseStatusBar != null) {
collapseStatusBar.setAccessible(true)
}
try {
if (collapseStatusBar != null) {
collapseStatusBar.invoke(statusBarService)
}
} catch (e: IllegalArgumentException) {
e.printStackTrace()
} catch (e: IllegalAccessException) {
e.printStackTrace()
} catch (e: InvocationTargetException) {
e.printStackTrace()
}
// Check if the window focus has been returned
// If it hasn't been returned, post this Runnable again
// Currently, the delay is 100 ms. You can change this
// value to suit your needs.
if (!currentFocus && !isPaused) {
collapseNotificationHandler.postDelayed(this, 100L)
}
}
}, 300L)
}
}
override fun onWindowFocusChanged(hasFocus: Boolean) {
super.onWindowFocusChanged(hasFocus)
currentFocus = hasFocus;
if (!hasFocus) {
collapseNow()
}
}
I review all of google developers docs for this problem but unfortunately google codes are deprecated and don't have a clear document for that
HI, i have the same issue, you found anything to solve this problem?
danielsantb said:
HI, i have the same issue, you found anything to solve this problem?
Click to expand...
Click to collapse
I used Device Manager for controlling status Bar but it's not true way, but I solved my problem with this method

Categories

Resources