I faced a real strange scenario when after I restarted my PC due to freezing of windows some of my java codes in the Android Studio were converted to some strange xml codes and all those codes I written were lost! I faced this situation twice, the first time I faced this scenario, I reverted my code to last commit since the changes were very little after the last commit. However this time the changes are huge after the last commit and I am completely perplexed!
The below is how one of my small code was converted.
<component name="libraryTable">
<library name="Gradle: com.android.support:print:28.0.0@aar">
<ANNOTATIONS>
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/87cddf7f66cc3e6d635cf04e7292a008/annotations.zip!/" />
</ANNOTATIONS>
<CLASSES>
<root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/87cddf7f66cc3e6d635cf04e7292a008/res" />
<root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/print-28.0.0.aar/87cddf7f66cc3e6d635cf04e7292a008/jars/classes.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>
My Android Studio version: 3.3.1
Is there any way to get back the code I wrote?
Any help would be appreciated.
EDIT
I faced again the same situation. Here is one of my another code replaced with xml
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidConfiguredLogFilters">
<filters>
<filter>
<option name="logLevel" value="verbose" />
<option name="logMessagePattern" value="" />
<option name="logTagPattern" value="(MainActivity|Download|BooksFrag|Reading|BookPage|BookDetails|PageNumberPicker)" />
<option name="name" value="Unnamed-0" />
<option name="packageNamePattern" value="" />
<option name="pid" value="" />
</filter>
</filters>
</component>
<component name="AndroidLayouts">
<shared>
<config />
</shared>
</component>
<component name="AndroidLogFilters">
<option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Unnamed-0" />
</component>
<component name="ChangeListManager">
<list default="true" id="0218df07-b316-45c7-a2ad-66ba2c0b4c43" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/utilities/RealmDBHelper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearchResultsContainer.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearchResultsContainer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearcher.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/BookSearcher.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchOptions.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchOptions.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResult.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResult.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResultViewHolder.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/SearchResultViewHolder.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/activities/ReadingActivity.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/activities/ReadingActivity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/utilities/ArabicUtilities.java" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/java/com/sed/maktaba_daar_al_hadeeth/utilities/ArabicUtilities.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" beforeDir="false" afterPath="$PROJECT_DIR$/app/src/main/res/values/strings.xml" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ExternalProjectsManager">
<system id="GRADLE">
<state>
<projects_view />
</state>
</system>
</component>
<component name="FUSProjectUsageTrigger">
<session id="1042793738">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.closed" value="23" />
<entry key="project.open.time.12" value="2" />
<entry key="project.open.time.13" value="2" />
<entry key="project.open.time.14" value="1" />
<entry key="project.open.time.15" value="3" />
<entry key="project.open.time.16" value="1" />
<entry key="project.open.time.17" value="1" />
<entry key="project.open.time.18" value="2" />
<entry key="project.open.time.2" value="1" />
<entry key="project.open.time.21" value="1" />
<entry key="project.open.time.22" value="1" />
<entry key="project.open.time.24" value="1" />
<entry key="project.open.time.25" value="2" />
<entry key="project.open.time.26" value="2" />
<entry key="project.open.time.27" value="5" />
<entry key="project.open.time.28" value="1" />
<entry key="project.open.time.29" value="1" />
<entry key="project.open.time.3" value="1" />
<entry key="project.open.time.30" value="1" />
<entry key="project.open.time.31" value="1" />
<entry key="project.open.time.32" value="1" />
<entry key="project.open.time.36" value="1" />
<entry key="project.open.time.4" value="1" />
<entry key="project.open.time.46" value="1" />
<entry key="project.open.time.49" value="1" />
<entry key="project.open.time.5" value="2" />
<entry key="project.open.time.50" value="1" />
<entry key="project.open.time.51" value="1" />
<entry key="project.open.time.6" value="2" />
<entry key="project.open.time.7" value="1" />
<entry key="project.open.time.8" value="2" />
<entry key="project.opened" value="44" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="MF" value="1" />
<entry key="css" value="4" />
<entry key="csv" value="11" />
<entry key="gradle" value="14" />
<entry key="java" value="298" />
<entry key="js" value="19" />
I logged an issue with Google here.
Thanks.
EDIT (Nov 2019)
I faced this in android studio 3.5.2 as well. It seems the issue is not fixed yet.