text:
Sambibs ämnesguider
Research Methods & Encyclopedias in Social Sciences
Human Geography & Human Ecology
Research Methods & Encyclopedias in Social Sciences: Human Geography & Human Ecology
Theory of Science
Quantitative Research
EncyclopediasToggle Dropdown
Miscellaneous Social Sciences
Development & Global Studies
Sociology, Criminology & Social Anthropology
Encyclopedia of GIS
The Encyclopedia of GIS features a comprehensive and authoritative treatment of Geographic Information Science, with an A-Z format providing easy access to the field. Extensive cross-references support efficient, user-friendly searches. Authored and peer-reviewed by world experts, the entries explain the key software, data sets, and processes used by geographers and computational scientists. Over 200 topics include major overviews such as Geoinformatics, Spatial Cognition, and Location-Based Services. Short entries, cross-referenced to related larger entries, define specific terms and concepts such as the Global Positioning System, Digital Elevation/Terrain Model, and Remote Sensing. Larger entries include key citations to the literature, and (online) internal hyperlinks to definitional entries and current standards.
Encyclopedia of Urban Studies
The United Nations estimates that by 2030, more than two-thirds of the total world population will live in urban areas. Most of this increase will take place not in Europe or in the United States but in the megacities and newly emerging urban regions of what used to be called the developing world. Urban studies is an expansive and growing field, covering many disciplines and professional fields, each with its own schedule of conferences, journals, and publication series. These two volumes address the specific theories, key studies, and important figures that have influenced not just the individual discipline but also the field of urban studies more generally. The Encyclopedia of Urban Studies is intended to present an overview of current work in the field and to serve as a guide for further reading in the field.
International Encyclopedia of Human Geography
The International Encyclopedia of Human Geography provides an authoritative and comprehensive source of information on the discipline of human geography and its constituent, and related, subject areas. The encyclopedia includes over 1,000 detailed entries on philosophy and theory, key concepts, methods and practices, biographies of notable geographers, and geographical thought and praxis in different parts of the world.
Encyclopedia of Consumption and Waste
Archaeologists and anthropologists have long studied artifacts of refuse from the distant past as a portal into ancient civilizations, but examining what we throw away today tells a story in real time and becomes an important and useful tool for academic study. Trash is studied by behavioral scientists who use data compiled from the exploration of dumpsters to better understand our modern society and culture.
Encyclopedia of Ecology and Environmental Management
The Encyclopedia of Ecology and Environmental Management addresses the core definitions and issues in pure and applied ecology. It is neither a short entry dictionary nor a long entry encyclopedia, but lies somewhere in between. The mixture of short entry definitions and long entry essays gives a comprehensive and up-to-date alphabetical guide to over 3000 topics, and allows any subject to be accessed to varying levels of detail; while the longer entries provide general reviews of subjects, the short definitions provide specific details on more specialised areas.
Encyclopedia of Global Warming and Climate Change
The Encyclopedia of Global Warming and Climate Change helps readers learn about the astonishingly intricate processes that make ours the only planet known to be habitable. These three volumes include more than 750 articles that explore major topics related to global warming and climate change--ranging geographically from the North Pole to the South Pole, and thematically from social effects to scientific causes.
Environmental Encyclopedia
Consisting of nearly 1,300 signed articles and term definitions, the 3rd edition of the award-winning "Environmental Encyclopedia provides in-depth, worldwide coverage of environmental issues. Each article is written in a nontechnical style and provides current status, analysis and suggests solutions whenever possible.
The Encyclopedia of Human Ecology
The first-and only-source to integrate the multiple disciplines and professions exploring the many ways people interact with the natural and designed environments in which we live. Comprised of more than 600 informative entries, The Encyclopedia of Human Ecology examines the interdisciplinary and complex topic of human ecology. Knowledge gathered from disciplines that study individuals and groups, such as biology, nutrition, psychology, and sociology, is blended with information about environments from the fields of family science, geography, anthropology, urban planning, and environmental science.
<< Previous: Gender Studies
Next: Political Science >>
URL: https://libguides.lub.lu.se/research_methods
Subjects: Samhälls- & Beteendevetenskap/Social & Behavioural Sciences
Tags: gender studies, genusvetenskap, human ecology, human geography, humanekologi, humangeografi, metod, pedagogics, pedagogik, political science, psychology, psykologi, rättssociologi, socialt arbete, sociologi, sociology, sociology of law, statsvetenskap


Yin-yang " pallet for the Squarespace headquarters in New York. Monochrome areas, interior spaces and a roof workstation are part of the new headquarters of the website Buildingservice Squarespace in New York. To accommodate its four different bureaus in one location, Squarespace took over 9,105 sqm in a 1920s Lower Manhattan property.
"We wanted not only to make a room, but also to make more room for work and collaboration," said Anthony Casalena, Squarespace founders and chief executive officer. It was his assignment to the designer to "create a room filled with rich ness, fullness and warmth". A+I' s staff stayed with the technology firm for three month to determine their needs and concluded that they were working in a range of different settings, from formally to informally, often in many technology firm bureaus.
A similar approach has been followed in other technology headquarters, among them Wix, Pinterest and Evernote space. Squarespace's results are a largely colorless indoor space in which cement creates the flooring and thin stripes of blacked timber overlap large parts of the wall and ceiling. The plants bring a splash of verdancy into the desks, while a darkly dyed nutwood also contributes to warming the otherwise simple range of materials.
Entry is through a dark industry gate leading to an events room on the groundfloor. Staff can also go up to the roof to work and meet outside on good mornings. "As Folger says, our drafts are distributed specifically among the rooms in which human beings carry out their work, their thoughts, their collaboration and their socialization.
"Casalena added, "The new rooms we have created have greatly changed the atmosphere of the work here. "It' definitely an amazing room, but it's also welcoming and warm." Since then, the studios have created the headquarters for businesses such as Horizon Media and Tumblr.


Judy will be teaching several classes to help you understand more about your llama fleece.
"Senior Fleece Project - 2013"
Lessons available for spinning, dyeing, felting, knitting, crochet , two locations, Chesapeake and South Point, Ohio. Llama fleece evaluations, fleece workshops for 4H groups, llama organizations, contact us and let's talk fleece!
A small family farm (About Our farm) located in southern Ohio, bordering Huntington, WV, dedicated to providing support and educational information for the New Owner (Information to download).
Spinning and felting instruction available in our fiber studio. Summer Fun Photos !!
Visit a working llama farm and learn about care, grooming, how to prepare and use llama fiber. A great learning experience. Hiking and lots of hands-on time with the llamas. Overnight accommodations available.
Directions to the farm, Programs we offer our Community group outings.
How we started Our first llamas, Emily and Fabian. With a selective breeding program we have developed quality show and fiber animals. Our commitment is to breed for soundness, conformation and disposition. Our llamas are consistent winners in the show ring and have produced award winning fleeces. Our "barn door" is always open so come on by for a visit and you will be greeted with a "llama hug and kiss". Visitors always welcome.
At Good News Llamas we believe training is essential to having fun with your llamas and being able to share them with your community. We use lots of hands-on training with our llamas so they are ready to enter the show ring, ready for that 4H project, packing, or just to be a companion llama.
River Cities Fiber Clan, a local guild was started to promote fiber arts and spinning in the community.
GOOD NEWS - we have to Share!


In the 18th century home craft textile workers were displaced by mass production in organized factories. Some of these displaced workers destroyed knitting equipment in these new factories. In England, Ned Ludd, also known as Capitain Ludd or King Ludd, the mythical leader of the Luddites, was the inspiration of a widespread effort to destroy factory equipment and return to the cottage industry that had sustained local economies before the development of the steam engine and the industrial revolution.
Industrialization destroyed early cottage economies, but today, advanced technology and the slowing of semiconductor scaling may bring about a renaissance of cottage industry. This is the result of minimizing the cost of technology development with new cloud-based tools and internet enabled supply chains. It is also driven by slowing of the development of generalized computer technology and a new opportunity for specialized and customized technology and semiconductor IP design.
At the IEEE Consultants' Network of Silicon Valley (CNSV, https://CaliforniaConsultants.org) June dinner meeting David Patterson, co-winner of the ACM Turning Award (with John Hennessy), discussed the history of computing and expected future developments with the end of "Moore's Law" and Dennard scaling. Patterson and Hennessy were early pioneers in Reduced Instruction Set Computing (RISC) in the early 1980's.
Dr. Patterson pointed out that with the demise of lithographic and other scaling laws that resulted in decades of continuous growth in semiconductor device density, engineers must turn to new ways to continue the pace of technology development. He pointed out that with the slowing of scaling there is a new need for computer architects. In particular he said that there was a new need for domain specific languages and architectures, open architectures and agile hardware development. He was particularly encouraging of new hardware-centric approaches—particularly the design of microprocessors designed for specific application domains.
Hardware design can offer opportunities for enormous performance improvements for these applications domains. Examples include neural network processors for machine learning, BPUs for graphics and virtual reality and programmable network switches and interfaces. Domain specific architectures allows more effective parallelism for a specific domain and more effective use of memory bandwidth. Elimination of unneeded accuracy can also improve overall performance and this approach is most effective with a domain specific programming language.
These domain specific languages (DSL) often need matrix, vector or sparse matrix operations such as OpenGL, TensorFlow and P4. If these DSL programs retain their architecture independence, Dr. Patterson said that interesting compiler challenges will exist. He said that there is a research challenge not to compromise DSLs with short-term Industry Standard Architecture (ISA) and other compromises. In other words, there is a need to develop truly customized and novel approaches.
Examples of this sort of approach include Google's Tensor processing unit, used in search queries, for neural machine translation and in the well -known AlphaGo match. For the application for which they are designed Google's TPU offers and 83X performance/Watt improvement over CPUs and a 29X improvement over GPUs. Patterson said that renaissance computer architecture team is vertically integrated and understands applications, DSLs and related compiler technology, architectural principles and implementation technology. Everything old, is new again!
He advocated free and open ISAs that could be used to design future microprocessors. RISC was originally developed to simplify computer instructions and today is in over 99% of processors shipped. RISC-V started in started in 2010 to develop new ISAs for the computer industry. Four years later the academics developing RISC-V at UC Berkeley found that outsiders were complaining about changes in RISC-V, used in Berkeley classes. RISC-V had leaked beyond its academic origins.
As a consequence, Patterson and the other RISC-V developers created the RISC-V Foundation to establish RISC-V as hardware with an open instruction set, with a vibrant volunteer community that has grown significantly over the last several years. In late 2017 Western Digital hosted the 7th RISC-V workshop at the former SanDisk facility in Milpitas, CA. Martin Fink, CTO at Western Digital said that WD is committing to have at least 1 billion RISC-V chips in its digital storage devices, platforms and systems by 2019-2020.
Dr. Patterson said that hardware may be a better basis of security than software. Hardware is harder to infect and change remotely than software and software continues to suffer from growing complexity. These issues may be less severe with hardware-based security measures. In addition, open source hardware (and software) is subject to more scrutiny and thus would grow stronger from challenges than proprietary hardware, protected from outside knowledge.
He pointed out that new agile software development methodologies make it possible to do a small chip tape-out of 100 chips at 28nm lithography for $14,000. If there were electronic design and verification tools available for larger lithography devices at affordable prices, chip design would open to anybody who is knowledgeable of modern design tools and cloud-based resources.
Open source hardware architecture combined with open source operating hardware opens the possibility of a new way to design specialized hardware and perhaps a new type of cottage industry for hardware development. Technology is enabling the disaggregation of design, creating a new market for semiconductor hardware IP and disassembling classical mass manufacturing. This will change the design of computers and technology, such as digital storage, dependent upon computer technologies and architectures. Maybe Captain Ludd is a computer architect, and the future is custom and small scale.


SeeMonterey.com has launched their winter campaign and sweepstakes, "Winter Wonderland."Monterey County, on California's Central Coast, is a wonderland unlike any other during the winter season.
Monterey, CA, November 29, 2018 – SeeMonterey.com has launched their winter campaign and sweepstakes, "Winter Wonderland."Monterey County, on California's Central Coast, is a wonderland unlike any other during the winter season. While manydestinations are inundatedby ice and snow – Monterey Country serves up mild weather—ideal for hiking, biking, wine sipping and golf teeing. From fertile valleys toscenic seaside cliffs, craft breweries toaward winning wineries and everything in between, visitors can get outdoors and make the most of the season in Monterey County.
Now through February 28, 2019, travelers can enter to win a winter escape for twoto Monterey County at www.SeeMonterey.com/Winter. The coveted prize package includes a two-night stayat the nautical themed Captain's Inn in Moss Landing. While staying in the quaint fishing village, the lucky winner will experience Monterey County's Serengeti of the Sea during whale watching on the Monterey Bay with Sanctuary Cruises and will be treated to a delectable dinner of sustainable seafood and local produce at the Haute Enchilada Social Club and Gallery. Next, the winner and a guest will spend a day exploring the sights, sounds and tastes of historic Cannery Row in Monterey. They can spend the morning among the fishes at the world-renowned Monterey Bay Aquarium, experience pure fun at the Monterey Mirror Maze & Lazer Challenge and get back out on the bay with a kayak rental from Monterey Bay Kayaks. After all of that activity it's time to slow down and savor a hot fudge sundae at Ghirardelli Ice Cream & Chocolate Shop, followed by a unique wine blending session at The Wine Experience. The winter retreat will conclude with a dinner to remember at Fandango Restaurant in Pacific Grove.
The Monterey County Convention & Visitors Bureau (MCCVB) is a 501c6 organization that drives tourism for Monterey County. Tourism is the largest industry on the Monterey Peninsula and the second largest in the County. The MCCVB is a partnership of the hospitality community and local governments that aims to drive business growth through compelling marketing and targeted sales initiatives that maximize the benefits of tourism to our guests, members and the community. Travel spending in Monterey County was $2.85 billion in 2017, representing a 3.5 percent increase from 2016. This $2.85 billion in visitor spending supported 24,990 jobs, contributed $255 million in total taxes and generated $127 million local tax dollars that directly benefited the community.


text:
Arte y Cultura * Art and Culture, Literature - Literatura, Política * Politics, Sociedad - Society, Teoría del Arte * Art Theory
The German Issue, by Annette Weisser
Ra'al Ki Victorieux (Iris Atma) reads the text 'The German Issue' by Annette Weisser, published on afterall.org on 08.12.2009. Weisser writes about a magazine of German culture and politics published by Semiotext(e) in 1982. She is fascinated by its aesthetic, which presents different thinkers and activists, as a time wormhole. She explores the debate between east and west, Europe and America, a revisitation of the 1980s culture to clarify our own self-awarenes.
Some time ago, an acquaintance in Los Angeles lent me his copy of The German Issue, a magazine on German culture and politics published by Semiotext(e) in 1982, after I mentioned I'd been researching the Allied Forces' reeducation films at the University of California film archives. I was immediately fascinated: in terms of design, production and choice of texts and images, The German Issue was familiar and foreign at the same time, brand-new yet outdated. Of course, almost any print product forges a link between past and present, but The German Issue seemed to possess some mysterious and direct connection with the present, as if its presence in the here-and-now might be able to influence the past, and vice versa. It gave the impression that if the trails laid by the book on its appearance in 1982 had been followed, the cultural-political climate in reunified Germany would be different. Not a time machine of a magazine, then, but a wormhole.
In the reissue, the magazine's copy shop aesthetic is instantly familiar (sadly, however, the new version lacks the manually inserted umlauts of the first), and so too is the brash rhetoric of the series of images, with photographs of piles of corpses in liberated concentration camps appearing alongside shots of Volkswagen Beetle chassis on factory assembly lines, or pictures of a Wurst counter and its wares. Images of machines and police officers in action, German shepherd dogs and the then infamous German politician Franz-Josef Strauss – punk fanzines of the period looked much the same. But in between the rest one discovers cryptic material and close-ups – but of what, exactly? Concentration camp photographs that might be film stills, or heaps of shoes that on closer inspection prove to have been photographed at the summer sales. Is it all a faintly sadistic game toying with the German guilt reflex? A recurrent motif is the border separating East and West Germany: a pictorial strip, which runs through the whole book and divides the pages into two unequal halves, begins in New York with photographs of Wall Street and culminates in a comic strip about a former member of the League of German Girls (BDM), who, thanks to the reeducation efforts of liberating GIs, becomes an all-American sweetheart. A wall of pictures. While the names of the authors are mostly familiar, it's unusual to see these thinkers, writers, artists, film-makers, Berlin underground celebrities, political activists and sexual libertarians all in one place. Sylvère Lotringer, who lacked any knowledge of German, thought up The German Issue together with Heidi Paris (to whose memory the reissue is dedicated) and Peter Gente, the founder of the Berlin-based Merve Verlag publishing house: 'Peter kept a basket of articles he found interesting, which he occasionally assembled into small books. Some of them found their way into The German Issue, even though Peter hadn't read them all. He instinctively knew what would be good, and the selection of authors we made together is probably one of the best that could have been done at the time, and certainly remains unequalled to this day.'1
Gente's basket contained, amongst other things, a hilarious report by film-maker Herbert Achternbusch about a trip to California; Ulrike Meinhof's essay 'Revolt' on the situation of foster children in state-run institutions, a review by Michel Foucault of Pierre Boulez's legendary production of Richard Wagner's Ring cycle from 1976; Martin Heidegger's response to an attack published in 1950 concerning his relation to National Socialism; a manifesto-like text by Hans Jürgen Syberberg in defense of his controversial Hitler: A Film from Germany; a conversation with Charlotte, a then well-known Berlin transvestite about her struggle for sexual self-determination under different regimes; and texts by Christa Wolf, Maurice Blanchot, Félix Guattari, Alexander Kluge, Oswald Wiener, Joseph Beuys, Andre Gorz, to name a few. Lotringer contributed a number of interviews, such as ones with French artist Christo about his idea of wrapping the Reichstag; with playwright Heiner Müller about life on both sides of the Berlin wall (Müller, who chose to live in East Berlin, had been one of the privileged GDR intellectuals who were allowed to travel freely); with Daniel Cohn-Bendit, a prominent figure of the student movement in both France and Germany who later became co-founder of the German Green Party; with Paul Virilio on his concept of 'Pure War'; with William Burroughs on terrorism; or with Annette Humpe, singer of German New Wave band Ideal, on guilt.
The German Issue appeared as a follow-up project to Autonomia, which Semiotext(e) likewise reissued two years ago. Wholly dissimilar at first glance, both magazines are permeated by Lotringer's interest in new social movements – operaism in Italy, and the women's, peace and squatters' movements in Germany. What was visible in these movements was a new form of political agency that left behind the hierarchical structures of the communist party and its Marxist-Leninist cadres, and by extension the militancy of the Red Brigades in Italy or of the RAF in Germany. Lotringer once more: 'When The German Issue was first published in 1982, the world was still starkly divided into two antagonistic blocks and our intention was to loosen them up in all sorts of ways, as we did earlier with other binary oppositions that regulate culture. The wall that used to separate East and West Berlin at the time was the stark embodiment of the struggle between the two systems, capitalism and communism, and it runs as well through every page of The German Issue.'
And exactly there, in fact, lay the line of flight offered by the thinking of the 'new French philosophers' , as they were known at the time, who had advanced far beyond the narrow political horizons of even the 'undogmatic Left'. (In 1982, according to the interviewee Humpe, it was still considered hip among left-wingers to 'know somebody who know somebody who knew Ulrike Meinhof.'2) To that extent Lotringer's German friends Heidi Paris and Gente were his natural allies, since Merve's mission as a publishing house in Berlin was similar to that of Semiotext(e) in New York: to make accessible – in Merve Verlag's case, to a German-speaking audience; in Semiotext(e) 's to English speakers – the writings of Foucault, Gilles Deleuze, Guattari, Baudrillard, Virilio and Jean-François Lyotard. Such an inclusive ethos remains palpable throughout the magazine: The German Issueresulted from an attitude of collaboration, confidence and intellectual curiosity.
The first time I picked up a text by Deleuze and Guattari, I was in my mid-twenties and had already turned my back on the 'anarcho-autonomous ' left-wing scene – and Anti-Oedipus( 1972), which appeared in Germany as a sleek Suhrkamp Verlag paperback in 1977, was not exactly appealing to punks up for some street action. In this context, The German Issue, with its bold layout and non-academic approach, would have been the missing link we could have done with back then, in provincial south Germany, in order to slot the new French philosophers into our own political landscape. (And in that regard especially: Jean Baudrillard' s contribution 'Our Theatre of Cruelty' on the German autumn of 1977.) Now as a resident of California, I can view my country from the outside through The German Issue and concoct my own history to serve to my North American friends as a plausible legend. 'The German Issue is as «untimely» today as it was twenty-five years ago,' says Lotringer in the preface – and equally useful, I am tempted to add. The decade that led up to the fall of the Berlin Wall seem to have been removed from our collective memory together with the rumble of that monument. A revisitation of the 1980s – the acute fear of global nuclear extinction, the distinct knowledge that because of our geopolitical position Germany would be the first to go, and the complex and conflicting ways in which these fears resonated with our own responsibility for the Holocaust – clarifies our sense of what Germany has become by turning our attention to the anxious self-awareness it has lost in the process.
1. All quotes from Sylvère Lotringer, introduction to The German Issue, New York: Semiotext(e) , 2009.
http://www.afterall.org/online/the.german.issue
Received comments of the video:
stickernation: Hey THANKS ! I just bought it !!! Wegen deine zärtlich Empfehlung habe ich es gerade gekauft 🙂 Amazon. Danke sehr hübschchen
matiasxx007: Excelente. Saludos cordiales. Matías.
Ra'al Ki Victorieux septiembre 25, 2013 noviembre 14, 2021 1980s, activist, América, America, American sweetheart, Annette, Art education, art history, artists, Atma Unum, Berlin, border, concentration camps, Creative Consciousness, Culture, Europe, film-maker, Franz-Josef Strauss, German girls, German sheperd, Germany, Heidi Paris, Iris Aggeler, Iris Atma, Iris México, LATAM, libertarians, magazine, Martin Heidegger, Mexico, Michel Foucault, Peter Gente, Pierre Boulez, punk, Ra'al Ki Victorieux, Raal Ki Victorieux, Revolt, Richard Wagner, Semiotext(e), Semiotics, sexual, Sylvère Lotringer, The German Issue, thinker, time, Ulrike Meinhof, underground, Volkswagen, Wall Street, Weisser, west, writer, Wurst
Anterior Entrada anterior: Taisha Abelar; recapitular y liberar
Siguiente Entrada siguiente: Clark' love for Education

redpajama_set_name: RedPajamaCommonCrawl


Ken Robinson: What do all high performing [education] systems do, that America does not?
Education in America happens despite the system we've built to encourage it. All other countries with successful education systems embrace these 3 philosophies, and prosper.
You can do it in a beautiful place as well, like at a lake. How many birds am I hearing? Where are they? Where are those ripples?
It's a great exercise for improving your quality of listening, and quality of life.


Complete your wedding tables and event centerpieces with this natural basswood tree round. With its 9 inch to 11 inch diameter and approximate 1 5/8 inch thickness, easily style this high quality slice as a charger or riser in your dining setting. Both sides of this slab are sanded smooth, kiln dried and not chemically treated, allowing for you to display food on this piece. This basswood slice is cleaned and includes the bark for a more natural design. This wood piece is unique and different from others and may differ from what is seen in the photos. This basswood slab is made in the USA and is individually wrapped for easy and clean storage. Explore our collection of wood slices and slabs for more natural decorations!
Style this wood slice on a linen table runner with sprigs and candles for your rustic chic table centerpieces.


29. Grimlock & Swoop Dec 1, 04 4pm Walmart #2029 Medford, Oregon 0 remaining Found hidden under display of Bratz dolls!
3,660 pages were recently viewed by 618 unique visitors. This page was viewed 1 times on Wednesday, April 24th 2019 10:56pm CDT. © 2019 Seibertron, Inc. DBA Seibertron.com. All Rights Reserved. Established June 2000. Seibertron.com is owned by Ryan Yzquierdo.


You should produce your hair looks great to enhance the appearance of you. You can find therefore many things that you certainly can do to create your own hair seems beautiful. First thing to accomplish is do the hair treatment to make your hair stay health. Then, the other point is apply the awesome hair to accomplish your everyday appearance. female military haircuts pictures looks good to be applied for you who've the hair.
When deciding on any hair style, something you can learn about on your own is you face type. You know that even you employ the coolest looking hair do yet it is unsuitable for your skin kind, its a lot a whole lot worse for you. One thing that has to have enhancement for you to the appearance of your mind is good so that you can do. That's why, you'll need to be not bothered within hunting for a hairstyle. You possibly can concept female military haircuts pictures to learn which usually hairstyle of which offers the exact facial sort and you'll perhaps attempt to supply your review to it.
People who have dark ugly Afro hair do not necessarily indicate for you to can not place your hair in style. You can also obtain it a method to improve your look thus much. This is certainly something that you needs to have with regard to the development of your respective hairstyle. Among the tips you could include will be female military haircuts pictures . The idea is a great fashion that you could possess for yourself to enable you to generate flowing hair nicely managed. Moreover, you do not get complex to control the hair.
Letting your hair free for your everyday performance sometimes make you feel sultry. One option to get you to sense ease is reduce your hair. But, what about if you however enjoy your extended hair? You will have to find the way to get you to feel comfort along with your extended hair for your everyday performance. Have you decide to try to use the perspective style for the extended hair? The female military haircuts pictures appears good to be the answer for your uneasy hairstyle. You can feel more ease as the angle will make your hair simpler to be handled and will make your performance looks tidier.
For you personally who've your hair too wet, you are able to pick the shampoo which formulated exclusively for the damp or fatty hair. But, for you personally who've your hair to dry, you can pick the wash which provides the moisturizer for your female military haircuts pictures . Selecting the wrong shampoo will even make your own hair worst. That's why you need to know precisely the sort of your hair. Clean your hair twice weekly to keep your own hair clean. You can also clean your hair with shampoo after you do some workout and you're feeling an excessive amount of work in your scalp.
Need some new and younger look? It's probable to be true. Hair is one of many issues that you can certainly do to boost that person look. It is crucial for folks to truly have a excellent physical attraction and one of many methods is adjusting the design of one's hair. Among encouraged hair is female military haircuts pictures . You understand that those individuals who have thick hair is anything worth that you have. You've strong hair and you may make your hair look so various for that person look and also you could have your look so significantly better.


text:
.class public final Lcom/xiaomi/hm/bleservice/BLEService;
.super Landroid/app/Service;

# annotations
.annotation build Landroid/annotation/TargetApi;
    value = 0x13
.end annotation

# static fields
.field private static final CLASS_NAME:Ljava/lang/String; = null

.field private static final HANDLER_THREAD_NAME:Ljava/lang/String; = null

.field public static final INTENT_ACTION_DEVICE_CONNECTED:Ljava/lang/String; = null

.field public static final INTENT_ACTION_DEVICE_CONNECTION_FAILED:Ljava/lang/String; = null

.field public static final INTENT_ACTION_DEVICE_CONNECTION_RESET:Ljava/lang/String; = null

.field public static final INTENT_ACTION_DEVICE_DISCONNECTED:Ljava/lang/String; = null

.field public static final INTENT_ACTION_DEVICE_FOUND:Ljava/lang/String; = null

.field public static final INTENT_EXTRA_DEVICE:Ljava/lang/String; = null

.field public static final INTENT_EXTRA_PARAM:Ljava/lang/String; = null

.field public static final INTENT_EXTRA_PARAM_EXT:Ljava/lang/String; = null

.field private static final INTENT_PREFIX:Ljava/lang/String; = null

.field public static final MAC_ADDRESS_FILTER:Ljava/lang/String; = "88:0F:10"

.field public static final MESSAGE_DEVICE_CONNECTED:I = 0x0

.field public static final MESSAGE_DEVICE_CONNECTION_FAILED:I = 0x2

.field public static final MESSAGE_DEVICE_CONNECTION_RESET:I = 0x3

.field public static final MESSAGE_DEVICE_DISCONNECTED:I = 0x1

.field private static final PACKAGE_NAME:Ljava/lang/String; = null

.field public static final VERSION:Ljava/lang/String; = "1.9.6.20140519"

.field private static c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

# instance fields
.field private final m_Binder:Landroid/os/Binder;

.field private final m_BluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;

.field private m_BroadcastReceiver:Landroid/content/BroadcastReceiver;

.field private m_Device:Landroid/bluetooth/BluetoothDevice;

.field private m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

.field private final m_Handler:Landroid/os/Handler;

.field private final m_HandlerThread:Landroid/os/HandlerThread;

.field private m_LeScanCallback:Landroid/bluetooth/BluetoothAdapter$LeScanCallback;

.field private m_ServiceFilter:[Ljava/util/UUID;

.field private m_StopScanRunnable:Ljava/lang/Runnable;

# direct methods
.method static constructor <clinit>()V
    .locals 2

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-class v1, Lcom/xiaomi/hm/bleservice/BLEService;

    invoke-virtual {v1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".VERSION: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "1.9.6.20140519"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->INFO(Ljava/lang/String;)V

    const-class v0, Lcom/xiaomi/hm/bleservice/BLEService;

    invoke-virtual {v0}, Ljava/lang/Class;->getPackage()Ljava/lang/Package;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Package;->getName()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->PACKAGE_NAME:Ljava/lang/String;

    const-class v0, Lcom/xiaomi/hm/bleservice/BLEService;

    invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->CLASS_NAME:Ljava/lang/String;

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->CLASS_NAME:Ljava/lang/String;

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->HANDLER_THREAD_NAME:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->PACKAGE_NAME:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "."

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->CLASS_NAME:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_ACTION_DEVICE_FOUND"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_FOUND:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_ACTION_DEVICE_CONNECTED"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_CONNECTED:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_ACTION_DEVICE_DISCONNECTED"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_DISCONNECTED:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_ACTION_DEVICE_CONNECTION_FAILED"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_CONNECTION_FAILED:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_ACTION_DEVICE_CONNECTION_RESET"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_CONNECTION_RESET:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_EXTRA_DEVICE"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_DEVICE:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_EXTRA_PARAM"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_PARAM:Ljava/lang/String;

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_PREFIX:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ".INTENT_EXTRA_PARAM_EXT"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_PARAM_EXT:Ljava/lang/String;

    const/4 v0, 0x0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    return-void
.end method

.method public constructor <init>()V
    .locals 2

    const/4 v1, 0x0

    invoke-direct {p0}, Landroid/app/Service;-><init>()V

    iput-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    iput-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Device:Landroid/bluetooth/BluetoothDevice;

    iput-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_ServiceFilter:[Ljava/util/UUID;

    invoke-static {}, Landroid/bluetooth/BluetoothAdapter;->getDefaultAdapter()Landroid/bluetooth/BluetoothAdapter;

    move-result-object v0

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;

    iput-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_LeScanCallback:Landroid/bluetooth/BluetoothAdapter$LeScanCallback;

    iput-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_StopScanRunnable:Ljava/lang/Runnable;

    iput-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BroadcastReceiver:Landroid/content/BroadcastReceiver;

    new-instance v0, Lcom/xiaomi/hm/bleservice/BLEService$BLEServiceBinder;

    invoke-direct {v0, p0}, Lcom/xiaomi/hm/bleservice/BLEService$BLEServiceBinder;-><init>(Lcom/xiaomi/hm/bleservice/BLEService;)V

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Binder:Landroid/os/Binder;

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    new-instance v0, Landroid/os/HandlerThread;

    sget-object v1, Lcom/xiaomi/hm/bleservice/BLEService;->HANDLER_THREAD_NAME:Ljava/lang/String;

    invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_HandlerThread:Landroid/os/HandlerThread;

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_HandlerThread:Landroid/os/HandlerThread;

    new-instance v1, Lcom/xiaomi/hm/bleservice/a;

    invoke-direct {v1, p0}, Lcom/xiaomi/hm/bleservice/a;-><init>(Lcom/xiaomi/hm/bleservice/BLEService;)V

    invoke-virtual {v0, v1}, Landroid/os/HandlerThread;->setUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_HandlerThread:Landroid/os/HandlerThread;

    invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V

    new-instance v0, Lcom/xiaomi/hm/bleservice/b;

    iget-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_HandlerThread:Landroid/os/HandlerThread;

    invoke-virtual {v1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, p0, v1}, Lcom/xiaomi/hm/bleservice/b;-><init>(Lcom/xiaomi/hm/bleservice/BLEService;Landroid/os/Looper;)V

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Handler:Landroid/os/Handler;

    return-void
.end method

.method static synthetic access$000(Lcom/xiaomi/hm/bleservice/BLEService;Landroid/os/Message;)V
    .locals 0

    invoke-direct {p0, p1}, Lcom/xiaomi/hm/bleservice/BLEService;->handleMessage(Landroid/os/Message;)V

    return-void
.end method

.method static synthetic access$100(Lcom/xiaomi/hm/bleservice/BLEService;Landroid/content/Context;Landroid/content/Intent;)V
    .locals 0

    invoke-direct {p0, p1, p2}, Lcom/xiaomi/hm/bleservice/BLEService;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V

    return-void
.end method

.method static synthetic access$200(Lcom/xiaomi/hm/bleservice/BLEService;)Landroid/os/Handler;
    .locals 1

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Handler:Landroid/os/Handler;

    return-object v0
.end method

.method static synthetic access$300(Lcom/xiaomi/hm/bleservice/BLEService;)Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;
    .locals 1

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    return-object v0
.end method

.method static synthetic access$400(Lcom/xiaomi/hm/bleservice/BLEService;)Landroid/os/HandlerThread;
    .locals 1

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_HandlerThread:Landroid/os/HandlerThread;

    return-object v0
.end method

.method static synthetic access$500(Lcom/xiaomi/hm/bleservice/BLEService;)Landroid/bluetooth/BluetoothDevice;
    .locals 1

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Device:Landroid/bluetooth/BluetoothDevice;

    return-object v0
.end method

.method static synthetic access$600()Landroid/support/v4/content/LocalBroadcastManager;
    .locals 1

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    return-object v0
.end method

.method public static getBroadcastManager()Landroid/support/v4/content/LocalBroadcastManager;
    .locals 1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NOT_NULL(Ljava/lang/Object;)V

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    return-object v0
.end method

.method private handleMessage(Landroid/os/Message;)V
    .locals 3

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_HandlerThread:Landroid/os/HandlerThread;

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_RUN_ON_THREAD(Ljava/lang/Thread;)V

    iget v1, p1, Landroid/os/Message;->what:I

    iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NOT_NULL(Ljava/lang/Object;)V

    packed-switch v1, :pswitch_data_0

    const-string v0, ">>> UNEXPECTED <<<"

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->WARN(Ljava/lang/String;)V

    :goto_0
    return-void

    :pswitch_0
    new-instance v1, Landroid/content/Intent;

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_CONNECTED:Ljava/lang/String;

    invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_DEVICE:Ljava/lang/String;

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z

    goto :goto_0

    :pswitch_1
    new-instance v1, Landroid/content/Intent;

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_DISCONNECTED:Ljava/lang/String;

    invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_DEVICE:Ljava/lang/String;

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z

    goto :goto_0

    :pswitch_2
    new-instance v1, Landroid/content/Intent;

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_CONNECTION_FAILED:Ljava/lang/String;

    invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_DEVICE:Ljava/lang/String;

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z

    goto :goto_0

    :pswitch_3
    new-instance v1, Landroid/content/Intent;

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_CONNECTION_RESET:Ljava/lang/String;

    invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    sget-object v2, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_DEVICE:Ljava/lang/String;

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    invoke-virtual {v0, v1}, Landroid/support/v4/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z

    goto :goto_0

    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_0
        :pswitch_1
        :pswitch_2
        :pswitch_3
    .end packed-switch
.end method

.method private onReceive(Landroid/content/Context;Landroid/content/Intent;)V
    .locals 5

    const/4 v3, -0x1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_HandlerThread:Landroid/os/HandlerThread;

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_RUN_ON_THREAD(Ljava/lang/Thread;)V

    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "#Broadcast# Intent: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.adapter.action.STATE_CHANGED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_1

    const-string v0, "android.bluetooth.adapter.extra.STATE"

    const/high16 v1, -0x8000

    invoke-virtual {p2, v0, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v0

    packed-switch v0, :pswitch_data_0

    const-string v0, ">>> UNEXPECTED <<<"

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->WARN(Ljava/lang/String;)V

    :cond_0
    :goto_0
    return-void

    :pswitch_0
    const-string v0, "#Broadcast# Bluetooth ON."

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->INFO(Ljava/lang/String;)V

    goto :goto_0

    :pswitch_1
    const-string v0, "#Broadcast# Bluetooth OFF."

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->INFO(Ljava/lang/String;)V

    goto :goto_0

    :pswitch_2
    const-string v0, "#Broadcast# Bluetooth turning ON."

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->INFO(Ljava/lang/String;)V

    goto :goto_0

    :pswitch_3
    const-string v0, "#Broadcast# Bluetooth turning OFF."

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->INFO(Ljava/lang/String;)V

    goto :goto_0

    :cond_1
    const-string v1, "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_2

    const-string v0, "android.bluetooth.adapter.extra.CONNECTION_STATE"

    invoke-virtual {p2, v0, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v1

    const-string v0, "android.bluetooth.adapter.extra.PREVIOUS_CONNECTION_STATE"

    invoke-virtual {p2, v0, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v2

    const-string v0, "android.bluetooth.device.extra.DEVICE"

    invoke-virtual {p2, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "#Broadcast# state: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v3, ", prev state: "

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ", device: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto :goto_0

    :cond_2
    const-string v1, "android.bluetooth.device.action.ACL_CONNECTED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_3

    const-string v0, "android.bluetooth.device.extra.DEVICE"

    invoke-virtual {p2, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "#Broadcast# device: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto/16 :goto_0

    :cond_3
    const-string v1, "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_4

    const-string v0, "android.bluetooth.device.extra.DEVICE"

    invoke-virtual {p2, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "#Broadcast# device: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto/16 :goto_0

    :cond_4
    const-string v1, "android.bluetooth.device.action.ACL_DISCONNECTED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_5

    const-string v0, "android.bluetooth.device.extra.DEVICE"

    invoke-virtual {p2, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "#Broadcast# device: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto/16 :goto_0

    :cond_5
    const-string v1, "android.bluetooth.device.action.BOND_STATE_CHANGED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_6

    const-string v0, "android.bluetooth.device.extra.DEVICE"

    invoke-virtual {p2, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    const-string v1, "android.bluetooth.device.extra.BOND_STATE"

    invoke-virtual {p2, v1, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v1

    const-string v2, "android.bluetooth.device.extra.PREVIOUS_BOND_STATE"

    invoke-virtual {p2, v2, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I

    move-result v2

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "#Broadcast# bond state: "

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v3, ", prev bond state: "

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, ", device: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto/16 :goto_0

    :cond_6
    const-string v1, "android.bluetooth.device.action.CLASS_CHANGED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_7

    const-string v0, "android.bluetooth.device.extra.DEVICE"

    invoke-virtual {p2, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    const-string v1, "android.bluetooth.device.extra.CLASS"

    invoke-virtual {p2, v1}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v1

    check-cast v1, Landroid/bluetooth/BluetoothClass;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "#Broadcast# device: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, ", btClass: "

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v1}, Landroid/bluetooth/BluetoothClass;->getDeviceClass()I

    move-result v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto/16 :goto_0

    :cond_7
    const-string v1, "android.bluetooth.device.action.NAME_CHANGED"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_8

    const-string v0, "android.bluetooth.device.extra.DEVICE"

    invoke-virtual {p2, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    const-string v1, "android.bluetooth.device.extra.NAME"

    invoke-virtual {p2, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "#Broadcast# device: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, ", name: "

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto/16 :goto_0

    :cond_8
    const-string v1, "android.bluetooth.device.action.PAIRING_REQUEST"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_0

    goto/16 :goto_0

    nop

    :pswitch_data_0
    .packed-switch 0xa
        :pswitch_1
        :pswitch_2
        :pswitch_0
        :pswitch_3
    .end packed-switch
.end method

# virtual methods
.method public getBondedDevices()Ljava/util/Set;
    .locals 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/Set",
            "<",
            "Landroid/bluetooth/BluetoothDevice;",
            ">;"
        }
    .end annotation

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothAdapter;->getBondedDevices()Ljava/util/Set;

    move-result-object v0

    return-object v0
.end method

.method public getConnectedDevices()Ljava/util/List;
    .locals 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List",
            "<",
            "Landroid/bluetooth/BluetoothDevice;",
            ">;"
        }
    .end annotation

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    const-string v0, "bluetooth"

    invoke-virtual {p0, v0}, Lcom/xiaomi/hm/bleservice/BLEService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothManager;

    const/4 v1, 0x7

    invoke-virtual {v0, v1}, Landroid/bluetooth/BluetoothManager;->getConnectedDevices(I)Ljava/util/List;

    move-result-object v0

    return-object v0
.end method

.method public getDefaultPeripheral()Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;
    .locals 1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NOT_NULL(Ljava/lang/Object;)V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    return-object v0
.end method

.method public newConnection(Landroid/bluetooth/BluetoothDevice;Ljava/lang/Class;)Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;
    .locals 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/bluetooth/BluetoothDevice;",
            "Ljava/lang/Class",
            "<*>;)",
            "Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;"
        }
    .end annotation

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    invoke-static {p1}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NOT_NULL(Ljava/lang/Object;)V

    invoke-static {p2}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NOT_NULL(Ljava/lang/Object;)V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NULL(Ljava/lang/Object;)V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    if-eqz v0, :cond_1

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "m_GattPeripheral != null, m_GattPeripheral.getState() = "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    invoke-interface {v1}, Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;->getState()Lcom/xiaomi/hm/bleservice/gatt/IGattCallback$STATE;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->WARN(Ljava/lang/String;)V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    invoke-interface {v0}, Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;->getDevice()Landroid/bluetooth/BluetoothDevice;

    move-result-object v1

    invoke-static {v1}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NOT_NULL(Ljava/lang/Object;)V

    if-eqz v1, :cond_1

    const-string v0, "bluetooth"

    invoke-virtual {p0, v0}, Lcom/xiaomi/hm/bleservice/BLEService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothManager;

    const/4 v2, 0x7

    invoke-virtual {v0, v1, v2}, Landroid/bluetooth/BluetoothManager;->getConnectionState(Landroid/bluetooth/BluetoothDevice;I)I

    move-result v0

    packed-switch v0, :pswitch_data_0

    :goto_0
    invoke-virtual {v1}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_0

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    :goto_1
    return-object v0

    :pswitch_0
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, "[CONNECTED]"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto :goto_0

    :pswitch_1
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, "[CONNECTING]"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto :goto_0

    :pswitch_2
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, "[DISCONNECTED]"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto :goto_0

    :pswitch_3
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v1}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, "[DISCONNECTING]"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    goto :goto_0

    :cond_0
    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    invoke-interface {v0}, Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;->disconnect()V

    :cond_1
    const/4 v1, 0x0

    const/4 v0, 0x3

    :try_start_0
    new-array v0, v0, [Ljava/lang/Class;

    const/4 v2, 0x0

    const-class v3, Landroid/content/Context;

    aput-object v3, v0, v2

    const/4 v2, 0x1

    const-class v3, Landroid/bluetooth/BluetoothDevice;

    aput-object v3, v0, v2

    const/4 v2, 0x2

    const-class v3, Landroid/os/Handler;

    aput-object v3, v0, v2

    invoke-virtual {p2, v0}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;

    move-result-object v0

    const/4 v2, 0x3

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    aput-object p0, v2, v3

    const/4 v3, 0x1

    aput-object p1, v2, v3

    const/4 v3, 0x2

    iget-object v4, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Handler:Landroid/os/Handler;

    aput-object v4, v2, v3

    invoke-virtual {v0, v2}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    :goto_2
    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_NOT_NULL(Ljava/lang/Object;)V

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    goto/16 :goto_1

    :catch_0
    move-exception v0

    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    move-object v0, v1

    goto :goto_2

    nop

    :pswitch_data_0
    .packed-switch 0x0
        :pswitch_2
        :pswitch_1
        :pswitch_0
        :pswitch_3
    .end packed-switch
.end method

.method public onBind(Landroid/content/Intent;)Landroid/os/IBinder;
    .locals 1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Binder:Landroid/os/Binder;

    return-object v0
.end method

.method public onConfigurationChanged(Landroid/content/res/Configuration;)V
    .locals 0

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    invoke-super {p0, p1}, Landroid/app/Service;->onConfigurationChanged(Landroid/content/res/Configuration;)V

    return-void
.end method

.method public onCreate()V
    .locals 2

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    invoke-super {p0}, Landroid/app/Service;->onCreate()V

    invoke-static {p0}, Landroid/support/v4/content/LocalBroadcastManager;->getInstance(Landroid/content/Context;)Landroid/support/v4/content/LocalBroadcastManager;

    move-result-object v0

    sput-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    new-instance v0, Lcom/xiaomi/hm/bleservice/c;

    invoke-direct {v0, p0}, Lcom/xiaomi/hm/bleservice/c;-><init>(Lcom/xiaomi/hm/bleservice/BLEService;)V

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BroadcastReceiver:Landroid/content/BroadcastReceiver;

    new-instance v0, Landroid/content/IntentFilter;

    invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V

    const-string v1, "android.bluetooth.adapter.action.STATE_CHANGED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.adapter.action.CONNECTION_STATE_CHANGED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.device.action.ACL_CONNECTED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.device.action.ACL_DISCONNECTED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.device.action.BOND_STATE_CHANGED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.device.action.CLASS_CHANGED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.device.action.NAME_CHANGED"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    const-string v1, "android.bluetooth.device.action.PAIRING_REQUEST"

    invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V

    iget-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BroadcastReceiver:Landroid/content/BroadcastReceiver;

    invoke-virtual {p0, v1, v0}, Lcom/xiaomi/hm/bleservice/BLEService;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;

    return-void
.end method

.method public onDestroy()V
    .locals 2

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    if-eqz v0, :cond_0

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    const/4 v1, 0x0

    invoke-interface {v0, v1}, Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;->setAutoReconnect(Z)V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_GattPeripheral:Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;

    invoke-interface {v0}, Lcom/xiaomi/hm/bleservice/gatt/IGattCallback;->disconnect()V

    :cond_0
    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BroadcastReceiver:Landroid/content/BroadcastReceiver;

    invoke-virtual {p0, v0}, Lcom/xiaomi/hm/bleservice/BLEService;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Handler:Landroid/os/Handler;

    new-instance v1, Lcom/xiaomi/hm/bleservice/e;

    invoke-direct {v1, p0}, Lcom/xiaomi/hm/bleservice/e;-><init>(Lcom/xiaomi/hm/bleservice/BLEService;)V

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    invoke-super {p0}, Landroid/app/Service;->onDestroy()V

    return-void
.end method

.method public onLowMemory()V
    .locals 0

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    invoke-super {p0}, Landroid/app/Service;->onLowMemory()V

    return-void
.end method

.method public onRebind(Landroid/content/Intent;)V
    .locals 1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    const-string v0, ">>> UNEXPECTED <<<"

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->WARN(Ljava/lang/String;)V

    invoke-super {p0, p1}, Landroid/app/Service;->onRebind(Landroid/content/Intent;)V

    return-void
.end method

.method public onStartCommand(Landroid/content/Intent;II)I
    .locals 3

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    if-eqz p1, :cond_0

    invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;

    move-result-object v0

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "Intent: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->DEBUG(Ljava/lang/String;)V

    :cond_0
    invoke-super {p0, p1, p2, p3}, Landroid/app/Service;->onStartCommand(Landroid/content/Intent;II)I

    move-result v0

    return v0
.end method

.method public onTaskRemoved(Landroid/content/Intent;)V
    .locals 1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    const-string v0, "Calling onDestroy()..."

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->WARN(Ljava/lang/String;)V

    invoke-super {p0, p1}, Landroid/app/Service;->onTaskRemoved(Landroid/content/Intent;)V

    return-void
.end method

.method public onTrimMemory(I)V
    .locals 0

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    invoke-super {p0, p1}, Landroid/app/Service;->onTrimMemory(I)V

    return-void
.end method

.method public onUnbind(Landroid/content/Intent;)Z
    .locals 1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    invoke-super {p0, p1}, Landroid/app/Service;->onUnbind(Landroid/content/Intent;)Z

    move-result v0

    return v0
.end method

.method public setServiceFilter([Ljava/util/UUID;)V
    .locals 1

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iput-object p1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_ServiceFilter:[Ljava/util/UUID;

    if-eqz p1, :cond_0

    array-length v0, p1

    if-nez v0, :cond_1

    :cond_0
    const-string v0, "SERVICE FILTER *NOT* SET."

    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->WARN(Ljava/lang/String;)V

    :cond_1
    return-void
.end method

.method public startScan(I)V
    .locals 6

    const/4 v1, 0x0

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    new-instance v2, Ljava/util/HashMap;

    invoke-direct {v2}, Ljava/util/HashMap;-><init>()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_LeScanCallback:Landroid/bluetooth/BluetoothAdapter$LeScanCallback;

    if-nez v0, :cond_0

    new-instance v0, Lcom/xiaomi/hm/bleservice/f;

    invoke-direct {v0, p0, v2}, Lcom/xiaomi/hm/bleservice/f;-><init>(Lcom/xiaomi/hm/bleservice/BLEService;Ljava/util/Map;)V

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_LeScanCallback:Landroid/bluetooth/BluetoothAdapter$LeScanCallback;

    :cond_0
    invoke-interface {v2}, Ljava/util/Map;->clear()V

    invoke-virtual {p0}, Lcom/xiaomi/hm/bleservice/BLEService;->getConnectedDevices()Ljava/util/List;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_1
    :goto_0
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_2

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/bluetooth/BluetoothDevice;

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v4

    const-string v5, "88:0F:10"

    invoke-virtual {v4, v5}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v4

    if-eqz v4, :cond_1

    invoke-virtual {v0}, Landroid/bluetooth/BluetoothDevice;->getAddress()Ljava/lang/String;

    move-result-object v4

    invoke-interface {v2, v4, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    new-instance v4, Landroid/content/Intent;

    sget-object v5, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_ACTION_DEVICE_FOUND:Ljava/lang/String;

    invoke-direct {v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    sget-object v5, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_DEVICE:Ljava/lang/String;

    invoke-virtual {v4, v5, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->INTENT_EXTRA_PARAM:Ljava/lang/String;

    invoke-virtual {v4, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;

    sget-object v0, Lcom/xiaomi/hm/bleservice/BLEService;->c_BroadcastManager:Landroid/support/v4/content/LocalBroadcastManager;

    invoke-virtual {v0, v4}, Landroid/support/v4/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z

    goto :goto_0

    :cond_2
    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;

    iget-object v2, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_LeScanCallback:Landroid/bluetooth/BluetoothAdapter$LeScanCallback;

    invoke-virtual {v0, v2}, Landroid/bluetooth/BluetoothAdapter;->startLeScan(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)Z

    if-lez p1, :cond_3

    const/4 v0, 0x1

    :goto_1
    invoke-static {v0}, Lcom/xiaomi/hm/bleservice/util/Debug;->ASSERT_TRUE(Z)V

    new-instance v0, Lcom/xiaomi/hm/bleservice/g;

    invoke-direct {v0, p0}, Lcom/xiaomi/hm/bleservice/g;-><init>(Lcom/xiaomi/hm/bleservice/BLEService;)V

    iput-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_StopScanRunnable:Ljava/lang/Runnable;

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Handler:Landroid/os/Handler;

    iget-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_StopScanRunnable:Ljava/lang/Runnable;

    int-to-long v2, p1

    invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z

    return-void

    :cond_3
    move v0, v1

    goto :goto_1
.end method

.method public stopScan()V
    .locals 3

    const/4 v2, 0x0

    invoke-static {}, Lcom/xiaomi/hm/bleservice/util/Debug;->TRACE()V

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_StopScanRunnable:Ljava/lang/Runnable;

    if-eqz v0, :cond_0

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_Handler:Landroid/os/Handler;

    iget-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_StopScanRunnable:Ljava/lang/Runnable;

    invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V

    iput-object v2, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_StopScanRunnable:Ljava/lang/Runnable;

    iget-object v0, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_BluetoothAdapter:Landroid/bluetooth/BluetoothAdapter;

    iget-object v1, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_LeScanCallback:Landroid/bluetooth/BluetoothAdapter$LeScanCallback;

    invoke-virtual {v0, v1}, Landroid/bluetooth/BluetoothAdapter;->stopLeScan(Landroid/bluetooth/BluetoothAdapter$LeScanCallback;)V

    iput-object v2, p0, Lcom/xiaomi/hm/bleservice/BLEService;->m_LeScanCallback:Landroid/bluetooth/BluetoothAdapter$LeScanCallback;

    :cond_0
    return-void
.end method

redpajama_set_name: RedPajamaGithub


text:
2020 Creative Climate Awards Celebrate the Intersection of Art Activism, Inequality, and Climate Justice in Uncertain Times
Fifteen artists from the five boroughs unite to champion diversity, justice, and climate awareness —
NEW YORK, NY (October 29, 2020) - The Human Impacts Institute (HII) today announced its 10th annual Creative Climate Awards (CCA) to help reinvigorate the city of New York with art and activism. In one of the most difficult years on record for both local artists and climate justice initiatives, the CCA has invited select cultural institutions from each of the five New York boroughs to send artists to perform, showcase, and enlighten this year's audience.
In lieu of in-person performances and exhibitions, the 2020 CCA will feature window installations in previously empty storefronts across four of NYC's boroughs—from the 3rd Avenue BID in the Bronx to Astoria, Queens and all the way to Midtown, Manhattan and Downtown Brooklyn.
Featuring predominately artists of color and many first-generation Americans, the festival will showcase new, intersectional artwork with an audio tour and interactive map to encourage visitors to venture out to each borough to stimulate local businesses and jumpstart awareness of diversity, inequality, and community-based climate solutions. The month-long festival will focus on inspiration and innovation during the run from November 15th to December 15th.
"Sparking meaningful action on climate justice and equity is more important in our current moment than ever before," said Tara DePorte, Human Impacts Institute Founder and Executive Director. "We are already seeing the impact of the climate crisis on our communities and this year has proven how sweeping and devastating those consequences can be."
In order to shed light on the issues of gentrification and inequity, all 15 artists have been chosen as representatives from five cultural organizations across New York: The Museum of Contemporary African Diasporan Arts (MoCADA) from Brooklyn; Bronx Council on the Arts from the Bronx; Materials from the Arts from Queens; Chinatown Art Brigade from Manhattan; and the Snug Harbor Cultural Center from Staten Island. Featured artists include Kimberly M. Becoat, Kim Dacres, Joyce Hwang & Prathap Ramamurthy, Interference Archive, Annalisa Iadicicco, Jahtiek Long, Estelle Maisonett, Ruth Marshall, Siara Mencia, Tijay Mohammed, Katherine Patiño Miranda, Run P., Dianne Smith, Tattfoo Tan, and Katherine Toukhy.
The selected artists have created engaging work to highlight climate crises and injustice with mediums including 2D- and 3D-installations, performative videos, and audio installations. Over the last decade, CCA has showcased climate-inspired and thought-provoking artwork from around the globe, including 194 artists from over 30 countries.
While the previous years have reached New Yorkers with in-person events, the decennial celebration has moved to a hybrid virtual and in-person model to reach an expected 100,000 viewers and provide equitable access to those in the city and beyond.
The 2020 festival kicks off with a virtual opening party on November 15th and continues throughout the month with a citywide walking tour, powered through Pollinate Art, to bring life to empty storefronts and support local businesses across the city.
The CCA aims to broaden the climate conversation through inspiring critical conversations around our own actions and creating an open dialogue about the current crisis and its disproportionate effect on marginalized communities.
With people of color on the front lines of the climate crisis, the selected artists have been chosen to engage with topics of diversity, equity, and inclusion to create space for new voices that are often stifled and go unheard. The work will engage, educate, and incite action about innovative ways we can reduce harm and heal our impact on the world.
The 2020 Creative Climate Awards Line-up:
Creative Climate Awards Virtual Opening Ceremony — November 15th from 6-8pm: This year's artists and advisors will host a donation-optional virtual ceremony to unveil the window installations. Audience members will be able to interact with the artists, their work, and members of HII to learn more about the impact on art, relevant climate initiatives, and the festival lineup with accompanying awards. Free tickets and donation link are available here.
Sunday Activism Talks – November 15th, 22nd, 29th and December 6thand 13th from 10-11am: Each Sunday, three 2020 CCA artists will give a sneak peek into their process, community, and ways to get involved. Viewers can reserve free tickets here.
Wednesday Salons – November 18th, 25th and December 2nd, 9th from 7-8:30 pm: Salons are where arts and ideas collide! With multiple speakers and artists discussing topics such as "Telling the Story of the Climate Crisis," "Imagine There's a Future…" and "Long-term Thinking in Uncertain Times," these talks push the boundaries on intersectionality and activism. Viewers can reserve free tickets for the virtual events here.
Friday Art & Action Chats — November 13th, 20th, 27th and December 4th, 11th, 18th at 12pm:Hosted by our guest curators, CCA Fridays are bringing new ways to engage with climate, social justice and art through chats encouraging proactive creativity, activism, and performance to enlighten, inspire, and enact change. Viewers can reserve free tickets for the virtual events here.
Virtual Closing Ceremony and Benefit Party — December 15th, 7-9 pm: The "It's Getting Hot in Here! A Climate Action Benefit Party" will sell tickets as a benefit for HII to further climate and art initiatives. All the votes for the best window display from throughout the month will be counted and the winners will be announced and awarded cash prizes: $1,000 for first place, $600 for second, and $400 for third. Tickets start at $50 and are available here.
To learn more about the Human Impacts Institute, visitwww.humanimpactsinstitute.org
Posted by Missy E. at 12:22 AM
2020 Creative Climate Awards Celebrate the Interse...
Sunday Soul Session: Seasons Come, Seasons Go